![](https://img-blog.csdnimg.cn/0cd576ac6eea46c79ebb1bcc5280876e.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
编译原理
文章平均质量分 75
编译原理学习
哈士奇谭
小菜鸡还需要介绍吗
展开
-
词法分析器中正规表达式与自动机
原创 2022-04-03 09:28:56 · 119 阅读 · 0 评论 -
词法分析——输入缓冲
综述 在讨论如何识别输入流中的词素之前,我们首先讨论几种可以加快源程序读入速度的方法。源程序读入虽然简单,却很重要。由于我们常常需要查看一个词素之后的若干字符才能够确定是否找到了正确的词素,因此这个任务变得有些困难。在“识别词法单元时的棘手问题”中给出了一个极端的例子。但是在实践中,很多情况下我们的确需要至少向前看一个字符。比如,我们只有读取到一个非字母或数字的字符之后才能确定我们已经达到一个标识符的末尾,因此这个字符不是id的词素的一部分。在C语言中,像 - 、= 或 <...原创 2022-03-03 17:05:28 · 850 阅读 · 0 评论 -
词法分析——词法分析器的作用
目录综述正文1 词法分析与语法分析2 词法单元、模式和词素3 词法单元的属性4 词法错误综述词法分析是编译的第一阶段。词法分析器的主要作用是读入源程序的输入字符、将它们组成词素,生成并输出一个词法单元序列,每个词法单元对应一个词素。这个词法单元序列被输出到语法分析器进行语法分析。词法分析器通常还要和符号表进行交互。当词法分析器发现了一个标识符的词素时,它要将这个词素添加到符号表中。在某些情况下,词法分析器会从符号表中读取有关标识符种类的信息,以确...原创 2022-03-02 17:40:37 · 5572 阅读 · 0 评论 -
一个编译器的结构
0 综述 我们把编译器(compiler)看作一个黑盒子,它能够把源程序映射为在语义上等价的目标程序。如果把这个盒子稍微打开一点,我们就会看到这个映射过程由两个部分组成:分析部分和综合部分。分析(analysis)部分把源程序分解成为多个组成要素,并在这些要素之上加上语法结构。然后,它使用这个结构来创建该源程序的一个中间表示。如果分析部分检查出源程序没有按照正确的语法构成,或者语义上不一致,它就必须提供有用的信息,使得用户可以按此进行改正。分析部分还会...原创 2022-02-24 20:26:01 · 258 阅读 · 0 评论