Использовать существующие языки в BNF с TinyPG?

Как я могу использовать эти грамматики BNF с метасинтаксисом GOLD (RegExp + BNF) с TinyPG? Я новичок в BNF, так что примерно, какое преобразование мне нужно сделать, чтобы преобразовать BNF в EBNF?

Я считаю, что это должно быть довольно просто, так как TinyPG требует RegExp + EBNF по сравнению с GOLD-грамматиками RegExp + BNF.

Кроме того, есть ли исходный код TinyPG для любого доступного языка, просто чтобы посмотреть, какую конвертацию мне нужно будет сделать?

1 ответ

EBNF не полностью обратно совместим с BNF, однако различия на самом деле незначительны, вы должны ознакомиться с документом на

http://www.cs.cmu.edu/~pattis/misc/ebnf.pdf

Прежде всего вы должны обрабатывать специальные символы <>|:= (заключенные в двойные кавычки).

Вы можете просто использовать метасинтаксический движок GOLD для вывода вашего парсера, если он может быть на одном из поддерживаемых языков - вместо использования TinyPG...

Возникает вопрос: на каком языке будет работать ваш парсер, когда вы его реализуете?

Другие вопросы по тегам