Я использую пример calc ++, найденный в документации по бизонам, как отправную точку для более сложной грамматики.Одна вещь, которую я не смог выяснить, это как вернуть символьный (буквальный) токен из flex в bison.
В примерах на чистом C я видел, как flex просто возвращал токен как:
"+" { count(); return('+'); }
В примере calc ++ просто используются символы токенов:
"+" return yy::parser::make_PLUS (loc);
Но это заставляет меня использовать PLUS вместо '+' в файле грамматики.
Как я могуget flex для возврата литерального значения, как в примере C при генерации кода C ++?