Есть ли библиотека Java для анализа простой грамматики? - PullRequest
3 голосов
/ 09 ноября 2011

Я хочу использовать Java для разбора очень простой грамматики, например:

/*comments*/
"aaa" = "bbb"

Вот и все. Я хочу все токены (комментарий, строка, равно).

Есть ли какая-нибудь библиотека Java, которая может справиться с этим?

Ответы [ 3 ]

2 голосов
/ 09 ноября 2011

Вам нужно написать базовую грамматику, которая распознает каждый из этих токенов, а затем сгенерировать синтаксический анализатор (лексический и синтаксический) с помощью инструмента, подобного SableCC или JavaCC (они оба производятКлассы Java).Тогда у вас будет парсер, который сможет разобрать ваш язык.

Надеюсь, это то, что вы имели в виду под parse a [...] grammar.

1 голос
/ 09 ноября 2011

для действительно базовых нужд вы можете использовать java.util.StringTokenizer или java.io.StreamTokenizer.

0 голосов
/ 09 ноября 2011

Вы можете довольно легко кодировать парсер рекурсивного спуска для простого языка.См. Есть ли альтернатива flex / bison, которую можно использовать в 8-битных встроенных системах?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...