Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c+中的现代解释器代码+;? 我正在寻找用C++编写的简单的解释器代码。理想情况下,它只适用于具有变量赋值的表达式求值器(用于内存管理代码)这样简单的对象_C++_Parsing_Interpreter_Lexer - Fatal编程技术网

c+中的现代解释器代码+;? 我正在寻找用C++编写的简单的解释器代码。理想情况下,它只适用于具有变量赋值的表达式求值器(用于内存管理代码)这样简单的对象

c+中的现代解释器代码+;? 我正在寻找用C++编写的简单的解释器代码。理想情况下,它只适用于具有变量赋值的表达式求值器(用于内存管理代码)这样简单的对象,c++,parsing,interpreter,lexer,C++,Parsing,Interpreter,Lexer,我的理由是,我正在进行现代编译器设计,目标是能够为解释语言引擎(如V8 javascript引擎)做出贡献。然而,所有的书的代码都是在C中写成的,我希望看到C++在这种情况下实现的设计实践,尤其是内存管理模型,而且一般来说,词库/解析器/结构等的结构。 我知道没有很多代码是这个基本的,C++不是传统的语言来编写解释器(特别是在开源世界),但我希望有人以前已经做过这方面的工作,至少可以让我看看他们个人的Git库。 我一直在寻找这种代码大约一个星期,但我能找到的唯一代码太复杂,在这个阶段我无法理解。

我的理由是,我正在进行现代编译器设计,目标是能够为解释语言引擎(如V8 javascript引擎)做出贡献。然而,所有的书的代码都是在C中写成的,我希望看到C++在这种情况下实现的设计实践,尤其是内存管理模型,而且一般来说,词库/解析器/结构等的结构。 我知道没有很多代码是这个基本的,C++不是传统的语言来编写解释器(特别是在开源世界),但我希望有人以前已经做过这方面的工作,至少可以让我看看他们个人的Git库。

我一直在寻找这种代码大约一个星期,但我能找到的唯一代码太复杂,在这个阶段我无法理解。

C++编程语言 我正在寻找用C++编写的简单的解释器代码。理想情况下,它只适用于具有变量赋值的表达式求值器(用于内存管理代码)这样简单的对象

你读过吗

在第6章,它有一个简单的例子。是的,它是带有变量赋值的表达式求值器。

教程提供了许多您需要的基础知识:地道的C++-ish词法分析和解析、中间表示处理等


P>可选的,如果你正在寻找一个真正的硬核C++经验,你可能想看看,有很多例子,从简单的表达式计算器到复杂的语法。

看看我已经看过的天使码和微小JS到目前为止,它们看起来都是相当简单的项目,特别是小JS,它特别使用了一个递归解析器,这是我在现代编译器设计中所处的阶段。今晚晚些时候我将关注tinyscheme,但它听起来也很有可能成为候选对象(tiny js和tinyscheme都是具有类似js语法的语言实现的额外优势)。发表评论作为回答,你有我的投票:“我没有,我大多拒绝它是诚实的,因为它是出版很久以前,我用C++底漆加第六ED。不过,我一定要看看这本书,特别是因为我看到了一个涵盖c++11等的更新版本将于今年5月发布。我将查看LLVM链接,我一直在阅读它(是用c++实现的主要VM/JIT/编译器之一),但没有具体看到。至于Spirit,我听说它很棒,如果你能让它工作的话,但它也相当迟钝,很难在现实世界中实现任何东西。。。