首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
编译
右上左下
创建于2023-03-19
订阅专栏
介绍编译的方法,实践完成简单编译器
等 1 人订阅
共7篇文章
创建于2023-03-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
编译[7]引入函数
上一篇把整个编译器的内部逻辑修改了一遍,修改后,貌似功能和使用表现上并没有什么变化,但那只是对于之前的功能而言。上次修改的目的在于后续的扩展,这一篇,我们要让我们的编程语言支持函数的定义和调用。
编译[6]先解析后执行
当前实现的解析器,它一边读入字符,一边分析,碰到一个语句就执行一个,这种方式往后难以扩展。这一篇,我们要做的就是改造解析执行流程,解析的过程只解析,把解析的内容保存下来,最后再执行所有内容。
编译[5]要有个打印方法
上一篇实现了使用变量,这一篇只简单加一个功能,打印功能。之前的实现解释完一个表达式就打印结果,这样当然不利于后续扩展,这一篇只简单加个打印语句。调用打印语句时才会打印。
编译[4]使用变量
接着上一篇,继续我们的实现,四则运算语言有了,现在要给它加上使用变量的功能。需要实现识别变量名,识别新的变量声明并赋值语句,给变量赋值,使用变量等操作。
编译[3]四则运算语言
继续利用黑盒工具实现我们的功能。上一篇实现了命令行执行单行四则运算,这一篇改良一下,不用命令行,把多个四则运算写在一个文件上,直接读文档解析执行输出所有运算结果。像是四则远算编程语言。
编译[2]执行一行四则运算
这篇利用`Lex`和`YACC`生成编译器,该编译器能解析计算四则运算。这里实现的效果是输入一个四则运算,回车后输出结果,因为是一边输入一边解析执行,所以应该叫解析器更合适。
编译[1]开头
简单介绍编译原理前端其实是做什么的,类比人类理解语言。也介绍一些相关概念,介绍一下词法和语法分析器生成器。