我需要编写一个接受简单操作的解释器(一些数学工具,如果不是变量,循环,函数,别无所求)。
我使用flex和bison是因为在课堂上我对它们进行了非常简短的介绍。不幸的是,该类纯粹是面向理论的,并且比起在现实生活中使用flex和bison,它给我提供了更多的信息来编写词法分析器和解析器。我发现99%的示例是针对编译器的,而我的课堂上有一些变量和数学示例。尽管它们在c单元中;由于我必须在c ++中的更大程序中使用该解释器,并且由于我绝对对使用面向对象的逻辑更有信心,因此我发现自己在看这些示例时完全迷失了(用单个函数构建抽象语法树,巨大的令牌类型切换)。
我宁愿使用bison来从在某个地方定义的不同c ++类中构建树,这样我可以更轻松,更自信地扩展语言。
有人知道GitHub存储库吗,那里有一个甚至很小的解释器示例,都可以使用类构建语法树,因此我可以以此为参考吗? 还是有人可以在这里编写示例.l和.y文件,它们将构成一棵类树?