Описание проблемы:

Мы разрабатываем IDE для языка, основанного на ECMAScript 4 Proposal (http://www.mozilla.org/js/language/es4/index.html). Язык имеет синтаксис, схожий с языками JavaScript, C#, Java, и для обеспечения связности файлов исходного кода использует конструкции, аналогичные import и using в перечисленных выше языках.

Разработка IDE ведётся на платформе .NET 2.0 с использованием языка C# 2.0

Для реализации возможности intellisence в разрабатываемой нами IDE необходим парсинг исходных файлов. Исходя из проведённого предварительного анализа проблемы мы считаем, что ANTLR (www.antlr.org) оптимален для решения этой проблемы, однако мы готовы рассмотреть альтернативные варианты решения проблемы.

Для решения описанной проблемы мы ищем разработчика с опытом работы с ANTLR либо подобным / аналогичным инструментарием. Потенциальный исполнитель данной задачи должен предоставить нам обзорную информацию о своём опыте и предыдущих проектах в данной области. Разработчики без опыта работы в данной области не рассматриваются в качестве кандидатов.

Стартовая информация и материалы, которые мы предоставим разрабочику:

-ANTLR (v2) grammar file для языка разрабатываемой нами IDE.

-Набор файлов исходного кода на языке разрабатываемой IDE, который будет использоваться для проверки корректности работы парсера.

Требования к поставке:

- Лексер, парсер и AST (Abstract Syntax Tree), сгенерированные на C#. Парсинг ошибок должен возвращать информацию о позиции (строка + позиция и / или смещение относительно начала файла)

- 2 демо приложения, написанные на C# (предпочтительнее, C# 2.0), демонстрирующий использование лексера, парсера и AST, и дающее представление о методе их использования.

При написании демо приложений необязательно придерживаться промышленного подхода к написании приложений и разработке – код и UI могут быть максимально примитивны.

Требования к демо 1:

- Интерфейс приложения позволяет пользователю вводить языковые конструкции, и на основании результатов работы парсера предлагать варианты продолжения кода – имена свойств, методов и т.п.

- Варианты должны отображаться в простом text box – никакого сложного комплексного UI не требуется.

Требования к демо 2:

- Отображение AST в элементе управления TreeView

- При выборе узла в TreeView должна отображаться информация о соответствующем элементе.

- Демонстрация получения информации от AST на основании координат курсора – какой именно language token находится в данной позиции, его тип, имя файла, в котором описан этот тип, и т.п. , т.е. информация, необходимая для реализации таких функции IDE как method tips, go to definition и т.п.

Необходимо, чтобы поиск осуществлялся не только в текущем файле, а по всему проекту, включая импорты (импорты в нашем случае – могут рассматриваться как части проекта, так как подключаются в исходниках)

- При передаче комплекта поставки крайне желательно использование Live Meetnig Session для непосредственного обсуждения и комментирования результатов работы.

19 лет назад
SharpStyle
Гость 
29 лет
19 лет в сервисе
Был
18 лет назад

Заявки фрилансеров

Нет заявок фрилансеров
  • Похожие заказы

  • $5000

    Краткое описание основных возможностей • Учёт групп и слушателей. • Расписание занятий, контроль посещаемости. • Планирование индивидуальных занятий. • Регистрация слушателей через веб интерфейс (поддерживает множество школ) • Поддержка персональных электронных карт слушателей. • Ведение ...

    Закрыт
    18 лет назад
  • $5000

    Краткое описание основных возможностей • Полная информация о соревновании. • Множество справочников. • Предварительная регистрация участников через веб интерфейс • Поддержка персональных электронных карт (гоночные лицензии, множество видов) • Множество видов и форм подсчёта результатов ...

    Закрыт
    18 лет назад
  • Подправить форму Outlook (2003 11.8010.6568 SP2). В поля Email мне не вести адрес - видно как-то их надо по другому делать. Сделать, чтобы радио кнопка "считать почтовым адресом" стояла ...

    Прикладное ПО1 исполнитель
    Закрыт
    19 лет назад
  • $100

    второй проект по винампу, здесь один от меня уже был. нужен плагин, который а) при установке сразу активируется (не знаю, как сказать более корректно. все плагины, что ставил на винамп я, ...

    Прикладное ПО1 исполнитель
    Закрыт
    19 лет назад
  • Я не спец по этим работам, так что не смейтесь. Имеется контроллер с выходом исерент. Нужно написать ПО для считывания информации. Жду вопросов и предложений! Я даже не знаю, на чём это надо ...

    Закрыт
    19 лет назад
  • Нужно написать прогу или скрипт на пхп для обработки эксэлевских файлов. Нам требуется скопировать из одного файла в другой (новый) все строчки, кроме тех, которые не соответствуют определенным параметрам. Либо удалить эти ...

    Прикладное ПО1 исполнитель
    Завершен
    19 лет назад
  • $1000

    Разработка специализированной программной утилиты (реверс инжениринг) Нужен профессионал или команда для разработки специализированной программной утилиты. Утилита предназначена для раскодировки базы данных, получения данных из нее, конвертирование полученных сведений в формат MS Access (.mbd). ...

    Закрыт
    18 лет назад
  • $1000

    Нужен профессионал или команда для разработки специализированной программной утилиты. Утилита предназначена для серфинга наперед заданного списка url-ресурсов, поиска по ключевым словам, сбора информации на этих ресурсах, ее анализа и передачи данных для дальнейшей обработки. ...

    Закрыт
    18 лет назад
  • $100

    Нужно доработать готовый компонент по синхронизации локольной и удаленной папки(папок). В интерфейс компонента нужно добавить метод (например getProgress) который бы возврашал имя текущего файла,размер файла, и сколько передано и осталось байт. Сам компонент уже ...

    Закрыт
    18 лет назад