使用flex和bison的玩具语言的C ++解释器,但面向对象:寻找示例

时间:2018-07-26 00:08:08

标签: bison interpreter flex-lexer yacc lex

我需要编写一个接受简单操作的解释器(一些数学工具,如果不是变量,循环,函数,别无所求)。

我使用flex和bison是因为在课堂上我对它们进行了非常简短的介绍。不幸的是,该类纯粹是面向理论的,并且比起在现实生活中使用flex和bison,它给我提供了更多的信息来编写词法分析器和解析器。我发现99%的示例是针对编译器的,而我的课堂上有一些变量和数学示例。尽管它们在c单元中;由于我必须在c ++中的更大程序中使用该解释器,并且由于我绝对对使用面向对象的逻辑更有信心,因此我发现自己在看这些示例时完全迷失了(用单个函数构建抽象语法树,巨大的令牌类型切换)。

我宁愿使用bison来从在某个地方定义的不同c ++类中构建树,这样我可以更轻松,更自信地扩展语言。

有人知道GitHub存储库吗,那里有一个甚至很小的解释器示例,都可以使用类构建语法树,因此我可以以此为参考吗? 还是有人可以在这里编写示例.l和.y文件,它们将构成一棵类树?

0 个答案:

没有答案