用Go语言自制编译器 本书是《用Go语言自制解释器》的续篇。在自制解释器时,你已经为Monkey语言实现了类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性。是时候让Monkey继续成长了!在本书中,Monkey将继续“进化”,并最终成长为成熟的程序设计语言。在已有词法分析器、语法分析器和抽象语法树的基础上,...
在Python等其他语言中,空白的长度会影响代码含义。这意味着此时词法分析器不能直接跳过空白字符和换行符,而必须将其输出为词法单元。之后语法分析器会处理这些词法单元,要么赋予特定的含义,要么在空白字符数量不合要求的时候报错。具有完整功能的词法分析器还可以将行号、列号和文件名附加到词法单元中。这么做是为了在...
Monkey语言使用的是递归向下语法分析器,是基于自上而下的运算符优先级分析法的语法分析器, 是由沃恩·普拉特(Vaughan Pratt)发明的。因此又叫普拉特语法分析器。 在Monkey语言中分为语句和表达式,语句则不会返回值,表达式会返回值。 ParseProgram // parser/parser.go func (p *Parser) ParseProgram() *ast.Progr...
这些资料大体可分为两类:一类是极其重视理论的大部头,这类资料更适合那些对这方面已经有了深刻理解的人;另一类则篇幅很短,蜻蜓点水般介绍解释器,重点介绍使用像黑盒一样的外部工具,来实现一些只能作为示例的解释器。 在学习中,挫折感主要来自第二类资料,因为其中介绍的解释器只能解释语法极其简单的语言。而我并不想...
在程序员与计算机的“交流”过程中,解释器无疑扮演着优秀的翻译角色。它为只懂0和1的计算机翻译源代码,为看似随机的字符赋予含义。这是如何实现的呢?充满好奇心的你,是否曾经思考过这个问题?跟随本书,你将揭开解释器的神秘面纱,通晓它的工作原理,并编写出自己的解释器。本书采用Go语言来为自创的编程语言Monkey实现解...
无意间发现了一门很神奇的语言,叫做Brainfuck,是不是感觉听上去就很觉得很诱人(bushi)。我大致了解了一下语法,这个语言本质上就是在模拟图灵机,它的解释器实现起来也很简单,比较适合作为Go的练手项目。我们…
用Go语言自制解释器豆瓣评分:9.6 简介:* 从零开始,自己写一门语言 * 体验从无到有实现类C语言的乐趣在程序员与计算机的“交流”过程中,解释器无疑扮演着优秀的翻译角色。它为只懂0和1的计算机翻译源代码,为看似随机的字符赋予含义。这是如何实现的呢
51CTO博客已为您找到关于用Go语言自制解释器 PDF下载的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及用Go语言自制解释器 PDF下载问答内容。更多用Go语言自制解释器 PDF下载相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
本书采用Go语言来为自创的编程语言Monkey实现解释器。你将为Monkey语言实现类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性,并了解什么是词法分析器、语法分析器和抽象语法树。 作者简介· ··· 索斯藤·鲍尔(Thorsten Ball) Sourcegraph软件工程师,精通多门程序设计语言,包括Go、C、JavaScript和Ruby...