【摘要】:词法分析器,又称为扫描器,功能是输入源程序,进行词法分析,输出单词符号。词法分析器主要依据语言的词法规则进行工作,描述词法规则的有效工具主要是正规式和有限自动机,这些内容将在第3章中进行详细介绍。
词法分析器,又称为扫描器(Scanner),功能是输入源程序,进行词法分析,输出单词符号。
每种高级语言都规定了允许使用的字符集,常见的字符有大写字母A~Z、小写字母a~z、数字0~9、+、-、*、/等。高级语言的单词符号(简称为单词)都由定义在字符集上的符号构成,它们都是语言中有意义的最小单位。单词一般分为5种,分别是:保留字、标识符、常数、运算符和界符。
例如,对于如下的Pascal程序片段:
var x,y,z:real;
x:=y+z*60;
词法分析器将从左到右扫描输入的字符流,识别出一个个单词符号,并输出其内部表示形式,如表1-2所示。
表1-2 程序中的单词符号(www.xing528.com)
为便于区分,x、y、z的内部形式分别用id1、id2和id3来表示,常数60的内部形式则用int1来表示,于是上述程序片段经过词法分析后的输出为:
$var id1,id2,id3:$real;
id1:=id2+id3*int1;
一般来说,词法分析器还要求将识别出来的名字填入符号表,以备后续阶段使用。单词符号是语言的基本组成单位,是用户理解和编写程序的基本要素。识别和理解这些要素同样也是自然语言翻译的基础,正如将英文翻译成中文一样,如果对英语单词不理解,那就谈不上正确的翻译。词法分析器主要依据语言的词法规则进行工作,描述词法规则的有效工具主要是正规式和有限自动机,这些内容将在第3章中进行详细介绍。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。