Я хочу использовать Java для разбора очень простой грамматики, например:
/*comments*/ "aaa" = "bbb"
Вот и все. Я хочу все токены (комментарий, строка, равно).
Есть ли какая-нибудь библиотека Java, которая может справиться с этим?
Вам нужно написать базовую грамматику, которая распознает каждый из этих токенов, а затем сгенерировать синтаксический анализатор (лексический и синтаксический) с помощью инструмента, подобного SableCC или JavaCC (они оба производятКлассы Java).Тогда у вас будет парсер, который сможет разобрать ваш язык.
Надеюсь, это то, что вы имели в виду под parse a [...] grammar.
parse a [...] grammar
для действительно базовых нужд вы можете использовать java.util.StringTokenizer или java.io.StreamTokenizer.
Вы можете довольно легко кодировать парсер рекурсивного спуска для простого языка.См. Есть ли альтернатива flex / bison, которую можно использовать в 8-битных встроенных системах?