Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

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

Мы разрабатываем 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 для непосредственного обсуждения и комментирования результатов работы.

18 лет назад
SharpStyle
Гость 
28 летРоссия
18 лет в сервисе
Был
17 лет назад
  • Похожие заказы
  • $5000

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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