Бизон передает обратно в результате АСТ
В лимон я смог использовать третий параметр функции синтаксического анализа, чтобы передать результат вызывающей стороне, когда начальный символ был уменьшен.
Как бы я сделал то же самое в зубров? Достаточно ли присвоить это значение $$ в коде действия начального символа, а вызывающей стороне принять его в качестве значения "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 может дать вам идеи о том, как это сделать.