Просматривая сообщения о хороших генераторах синтаксических анализаторов C#, я наткнулся на GPLEX и GPPG. Я хотел бы использовать GPLEX для создания токенов для GPPG для анализа и создания дерева (аналогично отношениям lex/yacc). Однако я не могу найти пример того, как эти два взаимодействия взаимодействуют вместе. С lex/yacc, lex возвращает токены, определенные yacc, и может хранить значения в yylval. Как это делается в GPLEX/GPPG (это отсутствует в их документации)?
Прилагается код lex, который я хотел бы преобразовать в GPLEX:
%{
#include <stdio.h>
#include "y.tab.h"
%}
%%
[Oo][Rr] return OR;
[Aa][Nn][Dd] return AND;
[Nn][Oo][Tt] return NOT;
[A-Za-z][A-Za-z0-9_]* yylval=yytext; return ID;
%%
Спасибо! Andrew