词法分析与编译原理:单词种别与属性值
需积分: 15 147 浏览量
更新于2024-07-12
收藏 12.99MB PPT 举报
"本文档主要介绍了编译原理中的词法分析部分,特别是关于单词种别和单词符号的属性值的概念。"
在编译原理中,词法分析是编译器的第一步,它的主要任务是从源程序中识别出一个个有意义的单元,即单词符号,将源代码转换成由这些单词符号组成的中间形式。词法分析器,也称为扫描器,负责执行这个过程。
单词种别是单词符号的分类,它们通常使用整数进行编码。比如,关键词、标识符、常数、运算符和界符等都是不同的单词种别。每个种别都有特定的含义,如关键词是语言预定义的具有特殊意义的标识符,如"Pascal"中的"begin"和"end"。标识符用于表示变量、数组或过程名,它们可以是任意数量的。常数则包括不同类型的数值,如整型、实型等。运算符如加减乘除,以及界符如逗号、分号等,它们在语法中起到分隔和控制作用。
单词记录由两部分组成:单词种别和单词属性值。如果一个单词种别只包含一个单词符号,那么通常不需要额外的属性值。但当一个种别包含多个单词符号时,就需要提供属性值来区分它们。例如,如果所有运算符都被归为一类,那么属性值可能用来区分"+"和"-"。属性值可以是任何能够描述单词符号特征的信息,如标识符的内存地址或者常数的具体数值。
在设计词法分析器时,如何划分单词种别是一个技术问题,可以根据处理的便利性来决定。例如,标识符通常归为一类,常数按照类型(整型、实型等)划分,关键词可以单独为一类,也可以每个关键词单独一类。运算符可以每个运算符单独一类,也可以根据共性归类,而界符通常是每个符号一个种别。
单词符号的属性是指单词的特性,属性值则是反映这些特性的具体值。例如,对于标识符,其属性值可能是指向该标识符在符号表中的表项的指针,以便在后续的编译阶段访问和解析。
在实际应用中,词法分析器会将源程序的字符流转化为单词流,生成一系列的二元式,每个二元式包含一个单词种别和相应的属性值。例如,代码"while(i>=j)i--"会被转化为一系列的二元式,每个二元式对应源代码中的一个单词,并携带相应的种别和属性信息。
总结来说,词法分析是编译过程的基础步骤,它通过识别单词种别和属性值,将源代码分解为便于进一步语法分析和语义分析的形式。理解这一过程对于编写编译器或理解编译原理至关重要。
2018-12-02 上传
2012-06-20 上传
281 浏览量
2008-12-18 上传
2018-06-11 上传
点击了解资源详情
2015-01-11 上传
2009-11-16 上传
2010-06-28 上传
顾阑
- 粉丝: 20
- 资源: 2万+
最新资源
- LINQ For Dummies (2008)
- Visual+C++开发工具与调试技巧整理
- ARM嵌入式系统开发:软件设计与优化.pdf 英文原版
- Data.Mining_Practical.Machine.Learning.Tools.and.Techniques,.Second.Edition
- ug 6.0技术资料
- 2009考研计算机统考大纲
- 面向对象系统设计循序渐进
- 专用集成电路设计pdf
- asp 某大学学生毕业论文
- C#中的垃圾回收机制
- Set26_DocTech_v1d1_en翻译
- jboss-seam.pdf
- S3C2410下LCD驱动程序的移植及GUI程序编写
- 软考软件设计师知识总结
- JavaScript设计与模式(高清晰电子版)(完整版)
- GPS测量规范.pdf