Руководство четко говорит:YYSETSTATE, как узнать идентификатор YYFILL?
YYSETSTATE (s)
[...]
The parameter to YYSETSTATE is a signed integer that uniquely identifies
the specific instance of YYFILL (n) that is about to be called.
[...]
Проблема заключается в том, я звоню YYSETSTATE определенный макрос из анализатора Bison. Как я могу начать состояние без знания интерфейса integer
? Другими словами, как я могу получить идентификатор состояния, которое я хочу начать.
На лексере:
<MY_STATE>{NAME} {
return FN_NAME;
}
На парсер:
expr: { push_state(?) } /* what's the identifier of MY_STATE? */
'(' FN_NAME VALUE VALUE ')' { compile_expr($2, $3, $4); }
;
YYSETSTATE и YYFILL являются частью интерфейса 're2c', afaik. Какое руководство вы цитируете? – rici
обновленные теги :) – marcio