- 博客(2)
- 资源 (2)
- 收藏
- 关注
原创 去除代码中的注释(一)设计思想
编译器的第一个工作是需要去除代码中的注释。这里分析的代码是C源代码。我们知道在C代码中,有两种类型的注释。 1. 块注释。以/*开头,以*/结尾,可以饱含多行。 2. 行注释。以//开头直至末尾。 要去除这两块的注释本身不是难事,比较麻烦的是处理有双引号的情形。例如考虑下面的代码段。 int main() { printf("/* Hello the world"); }在这段代码中,虽
2016-12-11 16:54:37 1862
原创 上下文无关文法及其分析树
上下文无关文法是程序设计语言所使用的语法。它的特点是同样的字符串在不同的语境下,意思不变。满足上下文无关文法的语言便于计算机识别和处理。我们已经介绍过,语言是语句的集合,而语句是通过产生式定义的。上下文无关文法要求产生式的左部有且仅有一个非终结符。例如:考虑如下文法G,其非终结符集合为{L, D},终结符集合为{0,1,2,…,9,+,-},开始符号为L,产生式集合为L→L+D|L−D|DL \ri
2016-12-09 17:24:10 7870 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人