全球旧事资料 分类
FA;由DFA设计词法分析程序;调试并运行词法分析程序;表1PASCAL语言子集的语法定义〈程序〉→〈变量说明〉BEGIN〈语句表〉END〈变量说明〉→VAR〈变量表〉〈类型〉:;〈空〉〈变量表〉→〈变量表〉〈变量〉〈变量〉,〈类型〉→INTEGER〈语句表〉→〈语句表〉〈语句〉〈语句〉;〈语句〉→〈赋值语句〉〈条件语句〉〈WHILE语句〉〈复合语句〉〈过程定义〉〈赋值语句〉→〈变量〉∶〈算术表达式〉〈条件语句〉→IF〈关系表达式〉THEN〈语句〉ELSE〈语句〉〈WHILE语句〉→WHILE〈关系表达式〉DO〈语句〉〈复合语句〉→BEGIN〈语句表〉END〈过程定义〉→PROCEDURE〈标识符〉〈参数表〉;BEGIN〈语句表〉END〈参数表〉→〈标识符表〉〈空〉〈标识符表〉→〈标识符表〉〈标识符〉〈标识符〉,〈算术表达式〉→〈算术表达式〉〈项〉〈项〉〈项〉→〈项〉〈初等量〉〈初等量〉〈初等量〉→〈算术表达式〉〈变量〉〈无符号数〉〈关系表达式〉→〈算术表达式〉〈关系符〉〈算术表达式〉〈变量〉→〈标识符〉
3
f〈标识符〉→〈标识符〉〈字母〉〈标识符〉〈数学〉〈字母〉〈无符号数〉→〈无符号数〉〈数字〉〈数字〉〈关系符〉→<<>><>〈字母〉→ABC…XYZ〈数字〉→012…89〈空〉→提示:提示:1单词的分类。可将所有标识符归为一类;将常数归为另一类;保留字和分隔符则可采取一词一类。2符号表的建立。可事先建立一保留字表,以备在识别保留字时进行查询。变量名表及常数表则在词法分析过程中建立。3单词串的输出形式。所输出的每一单词,均按形如CLASS,VALUE的二元式编码。对于变量标识符和常数,CLASS字段为相应的类别码,VALUE字段则是该标识符、常数在其符号表中登记项的序号要求在变量名表登记项中存放该标识符的字符串,其最大长度为四个字符;常数表登记项中则存放该整数的二进制形式。对于保留字和分隔号,由于采用一词一类的编码方式,所以仅需在二元式的CLASS字段上放置相应的单词的类别码,VALUE字段则为“空”。不过,为便于查看由词法分析程序所输出的单词串,也可以在CLASS字段上直接放置单词符号串本身。
3.测试用输入.
测试用输入程序为。
Procedureprogram1ab;;Begi
Varxyz50Whileabdo
begi
Ifxyz0the

xyz50xyzxyzaaa1e
dE
d
4
f4.实验扩充:.实验扩充:
构造语言的词法分析程序,要求识别出变量类型并记录相关信息。
5.实验说明:.实验说明:
实验环境:WINDOWS下,工具为TurboC2r
好听全球资料 返回顶部