文献综述
编译器是将汇编或高级计算机语言翻译为二进制机器语言代码的计算机程序。编译器将源程序编写的程序作为输入,翻译产生目标程序机器代码的等价程序。通常地,源程序为高级程序,像C或C 、JAVA等,而目标则是机器语言的目标代码 ,有时也称作机器代码,也就是可以在计算机硬件中运行的机器代码软件程序。这一过程可以表示为:源程序→编译器 →目标机器代码程序。
一、词法分析
词法分析器的作用:
1.读入源程序的输入字符、将他们组成词素,生成并输出一个词法单元序列,每个词法单元对应于一个词素。这个词法单元序列被输出到语法分析器进行语法分析。
2.词法分析器通常还要和符号表进行交互。当词法分析器发现了一个标识符的词素时,它要将这个词素添加到符号表中。在某些情况,词法分析器会从符号表中读取有关标识符种类的信息,以确定向语法分析器传送哪个词法单元。
3.完成一些识别词素之外的其他任务。(1)过滤掉源程序中的注释和空白(空格、换行符、制表符以及在输入中用于分隔词法单元的其他字符)(2)将编译器生成的错误信息与源程序的位置联系起来。例如词法分析器可以负责记录遇到的换行符的个数,以便给每个出错信息赋予一个行号。如果源程序使用了一个宏预处理器,则宏的扩展也可以由词法分析器完成。
词法单元(token):词法单元由一个词法单元名和一个可选的属性值组成。词法单元名是一个表示某种词法单位的抽象符号,是由语法分析器处理的输入符号。但是,在很多情况下,词法分析器不仅仅向语法分析器返回一个词法单元名字,还会返回一个描述该词法单元的词素的属性值。词法单元的名字将影响语法分析过程中的决定,而这个属性则会影响语法分析之后对这个词法单元的翻译。一个标识符的属性值是一个指向符号表中该标识符对应条目的指针。
模式(pattern):描述了一个词法单元的词素可能具有的形式。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。