Мой файл lex имеет:
word [^{}"=,\t\n@\\ ]+
\{ {
return(LBRACE);
}
\} {
return(RBRACE);
}
{word} {
yylval = yytext; printf("WORD=%s",yytext); return(WORD);
}
Мой файл yacc имеет:
phrase: LBRACE WORD RBRACE {printf("LBRACE %s RBRACE\n",$2);};
При вводе:
{FooBar}
Я получаю:
WORD=FooBar
LBRACE FooBar} RBRACE
Я не уверен, почему я получаю дополнительную правильную скобку, хотя я печатаю только 2 доллара, что должно идеально