编译原理初学

本文介绍了词法分析器的工作原理,包括输入源程序文本、预处理、超前搜索以及如何使用转换图进行识别。重点讲解了在实现转换图时涉及的字符变量、字符数组、获取字符和空白字符处理等关键步骤。
摘要由CSDN通过智能技术生成

词法分析器(1)

词法分析器的功能是输入源程序,输出单词符号。程序语言的单词符号一般分为下列五种:
(1)关键字,由程序语言定义的具有固定意义的标识符,比如java中的while、if、const、int等等。
(2)标识符,用来表示各种名字,如变量名、数组名、过程名等等。
(3)常数 分为整型、实型、布尔型、文字型等等
(4)运算符 +、-、*等
(5)界符,如“,”、“;”、“()”等等
词法分析器所输出的单词符号常常表示为如下的二元式
    (单词种别,单词符号的属性值)
单词种别通常用整数编码。标识符归为一类,常数则按照类型分钟,关键字可将其视为一种,
也可以一字一种,一般都是一字一种,好处理。运算符也采用一字一符,界符也是。
如果一个种别只含一个单词符号,那么,对于这个单词符号,种别编码就完全代表它。
还应给出有关单词符号的属性信息。单词符号的属性信息是指单词符号的特性或特征值,
属性值则是反应特性特征的值,如:对于某个标识符,
常将存放它的有关信息的符号项表的指针作为其属性值。

* 针对以上所述,可以得出:只有标识符(自己定义的变量)和常数的二元式中第二个项——单词符号的属性值不为空,值为相应项表的指针。*


词法分析器工作第一步是输入源程序文本,输入串一般放在输入缓冲区中。

  • 先把输入串预处理一下,删

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值