编译原理
Chorer@公众号:漫游前端世界
这个作者很懒,什么都没留下…
展开
-
编译原理学习笔记-3:词法分析(一)基本过程、正规式和有限自动机
编译有五大步骤,本篇笔记将会讲解编译的第一步:词法分析。词法分析的任务是:从左往右逐个字符地扫描源程序,产生一个个的单词符号。也就是说,它会对输入的字符流进行处理,再输出单词流。执行词法分析的程序即词法分析器,或者说扫描器。1.词法分析的成果词法分析的成果就是由一系列单词符号构成的单词流。单词符号其实就是 token,一般有以下五大类:关键字:例如 while,if,int 等...原创 2020-04-11 23:29:40 · 3105 阅读 · 0 评论 -
编译原理学习笔记-2:文法和语言
在 上一篇笔记中,我们谈到了为什么需要编译以及编译的大致流程。在继续细讲每一个流程之前,我们先通过本篇笔记对一些概念和术语加以了解。1. 前置知识:字母表和符号串1.1 字母表字母表也即符号集,用 ∑表示,它是一个包含各种符号的有穷非空集合。以汉语为例,汉语字母表就是各种汉字、数字、标点符号的集合;以英语为例,英语字母表就是各种字母、数字、标点符号的集合…那么到了编程,字母表就可能是...原创 2020-04-11 23:29:14 · 579 阅读 · 0 评论 -
编译原理学习笔记-1:引论
1. 翻译程序机器不能理解我们用高级语言编写的代码,所以要在程序执行前将高级语言“翻译”为机器语言。这是一个将源语言程序转化为目标语言程序的过程,它依靠翻译程序来完成。翻译程序包括:编译器:将编译型语言(C++,Go)翻译为机器语言。解释器:将解释型语言(JavaScript、Python)翻译为机器语言。编译与解释的不同:编译和解释都可以将高级语言翻译为机器语言,不同之处在于...原创 2020-04-11 23:27:23 · 266 阅读 · 0 评论