Генератор парсеров для Delphi? - PullRequest
4 голосов
/ 09 августа 2009

Кто-нибудь может порекомендовать генератор парсера, который будет генерировать код Win32 Delphi? Я пытаюсь создать простой предметно-ориентированный язык.

Ответы [ 5 ]

5 голосов
/ 10 августа 2009

Насколько сложен ваш DSL?

Я создал анализатор (в Delphi) для нового языка Delphi RIDL для поддержки некоторых собственных инструментов генерации COM, которые мы используем.

Мой подход состоял в том, чтобы использовать ANTLR, чтобы поиграться с правилами синтаксиса, пока у меня не получится что-то, что будет анализировать различные тестовые файлы, которые у меня были. Затем я вручную написал парсер рекурсивного спуска (на основе Java, сгенерированного ANTLR). Я также использовал в проекте Castalia Delphi Parser, поэтому я основал на этом свой лексический анализатор.

Парсеры с рекурсивным спуском на самом деле очень просто (но утомительно :-)) писать вручную.

5 голосов
/ 09 августа 2009

Delphi-версии Coco / R вполне нормальны:

http://www.ssw.uni -linz.ac.at / Исследования / Проекты / Коко /

В первую очередь Пэт Терри:

http://www.scifac.ru.ac.za/coco/

4 голосов
/ 09 августа 2009

Попробуйте это:

http://www.grendelproject.nl/dyacclex/

2 голосов
/ 09 августа 2009

Я не пробовал это вообще, и я только заметил информацию, когда читал документацию, но FastScript, в их документации, которую вы можете получить здесь , говорит, что вы можете использовать их парсер для создайте свой собственный язык, который вы указываете в файле XML. Это может дать вам то, что вы можете использовать.

0 голосов
/ 14 августа 2009

Я нашел Antlr для Delphi 3.1.1 .

SharpPlus Antlr для Delphi Target 3.1.1, языковой инструмент, который обеспечивает основу для построения распознаватели, переводчики, компиляторы с Delphi!

Это коммерческий продукт. Я понятия не имею, на что это похоже.

...