全文预览

编译原理精品教学课件(华南理工大学)第三章词法分析

上传者:徐小白 |  格式:pptx  |  页数:81 |  大小:745KB

文档介绍
构造词法分析程序?特殊问题的处理Р回顾:?词法分析的主要任务是:从左到右逐个字符地扫描源程序,产生一个个单词(Token),同时检查源程序中的词法错误。执行词法分析的程序称为词法分析程序或扫描程序(Scanner)。?单词是语言中具有独立意义的最小单位,包括保留字、标识符、运算符、标点符号和常量等。Р1?确定词法分析器的接口Р确定词法分析器是作为语法分析的一个子程序还是作为独立一遍?词法分析作为独立一遍А将字符流的源程序变成单词序列,输出到一个中间文件上,做为语法分析的输入。?词法分析作为语法分析的子程序А每当语法分析程序需要一个单词时,则调用该子程序,从源程序中分析和返回一个单词Р独立词法分析器Р语法分析РToken序列Р源程序Р附属词法分析器Р语法分析Р调用РTokenР源程序Р2?确定单词分类和Token结构Р设计词法分析器的首要任务是,对于源语言的单词进行仔细的分析,并列出所有可能的不同单词,然后再确定单词的内部表示?程序设计语言中的单词,一般可分为以下几类:?1.基本字(关键字):如 begin,end,if 等?2.标识符:用来表示常量、变量、过程等的名字?3.常数:各种类型的常数,如 15,3.14,TRUE?4.运算符:如+,—,*,/?5.界符:如逗号,分号,括号等Р单词的机内表示?二元式(单词种别,单词自身的值)А种别是语法分析需要的信息А自身值是编译其他阶段需要的信息?种别编码(常用整数编码)?方法一:按单词的5大种类每种一个码,例如标识符为l,常数为2,基本字为3,运算符为4,界符为5。?方法二:每个基本字一个编码;所有标识符为一个编码;常数按类型分类,每类一个编码;每个运算符一个编码;每个界符一个编码。Р单词自身值?对常数,基本字,运算符,界符就是他们本身的值?对标识符,将标识符的属性登记在符号表中,“自身值”是指向该标识符所在符号表中位置的指针.

收藏

分享

举报
下载此文档