Бизон передает обратно в результате АСТ

В лимон я смог использовать третий параметр функции синтаксического анализа, чтобы передать результат вызывающей стороне, когда начальный символ был уменьшен.

Как бы я сделал то же самое в зубров? Достаточно ли присвоить это значение $$ в коде действия начального символа, а вызывающей стороне принять его в качестве значения "yy minor" после последнего вызова yypush_parse()?

Парсер толкает и чист. Потокобезопасность является обязательным.

1 ответ

Решение

Если вы хотите использовать AST, вам, скорее всего, придется сделать это самостоятельно с помощью bison / yacc, создав собственные узлы и присвоив их $$.

Пример на http://epaperpress.com/lexandyacc/ (посмотрите на файл.y в калькуляторе ->Yacc input) или на http://www.progtools.org/compilers/tutorials/cxx_and_bison/cxx_and_bison.html может дать вам идеи о том, как это сделать.

Другие вопросы по тегам