Я использую Bison для реализации простого парсера.И одна строка синтаксиса выглядит так:
prefix_definition : PREFIX IDENTIFIER IDENTIFIER ABBR IDENTIFIER ';'
Я не уверен, как получить 1-й, 2-й и 3-й IDENTIFIER
отдельно.Мой гибкий файл читает IDENTIFIER
, например:
IDENTIFIER_REGEX (_|[A_Za-z])(_|[0-9A-Za-z])*
{IDENTIFIER_REGEX} { yylval.identifier=strdup(yytext); return IDENTIFIER; }
Я не мог просто использовать yylval.identifier
.Я пытался $2.identifier
или около того, но он просто не работает (и все равно не должен работать).Есть ли способ решить эту проблему?
Я собираюсь использовать очередь FIFO, если bison / flex не поддерживает такой доступ.Это хорошее решение?