是语法分析必要准备。词法分析程序也称为扫描程序或扫.ppt

是语法分析必要准备。词法分析程序也称为扫描程序或扫.ppt

词法分析是翻译的第一阶段,是语法分析的必要准备。词法分析程序也称为扫描程序或扫描器(scanner)。 词法分析是编译过程中的一个阶段,可以在语法分析前进行 。也可以和语法分析结合在一起作为一遍,由语法分析程序调用词法分析程序来获得当前单词供语法分析使用。 实现方式 ①作为单独的一遍 字符序列   单词序列  ───扫描器───语法分析器── . . . ②作为子程序 词法分析程序的主要任务:   - 读源程序,产生单词符号   词法分析程序的其他任务:   - 滤掉空格,跳过注释、换行符   - 追踪换行标志,复制出错源程序,   - 宏展开,…… 单词类别及其输出形式 单词可作各种分类,典型地分为5类: ①保留字 AND,BEGIN,FOR,TYPE,VAR等 ②标识符 用户定义的常量、类型、变量、过程名 ③常量  12, 1997, 4.14, ‘A’, 等 ④运算符 +,-,*,/,,,!=,#等 ⑤界限符 ; , ( ) 等 词法分析程序所输出的单词符号常常采用以下二元式表示: (单词种别,单词自身的值)。 单词的种别是语法分析需要的信息,而单词自身的值则是编译其它阶段需要的信息。 比如在PASCAL的语句const i=25, yes=1;中的单词 25和1的种别都是常数,常数的值25和1对于代码生成来说,是必不可少的。

文档评论(0)

1亿VIP精品文档

相关文档