编译原理词法分析程序设计实验报告【实验目得】1. 了解词法分析得主要任务。2. 熟悉编译程序得编制。【实验内容】根据某文法,构造一基本词法分析程序。找出该语言得关键字、标识符、整数以及其她一些特别符号,给出单词得种类与值.【实验要求】1. 构造一个小语言得文法类 C 小语言文法(以 EB N F 表示) ﻫﻫ〈程序>::=〈分程序>{<分程序>} 、 <分程序>::=<标识符>'(’<变量说明部分〉{,〈变量说明部分〉}')’〈函数体〉 ﻫ〈变量说明部分〉::=in t〈标识符>{,<标识符>} ﻫ<函数体>::=’{’[<变量说明部分>;]<语句序列〉’}’ <语句序列〉::=<语句序列>;〈语句〉|〈语句〉 ﻫ〈语句>::=<赋值语句>|〈条件语句>|<循环语句〉|<函数调用语句> ﻫ<赋值语句>::=<标识符〉=〈表达式> <表达式>::=[+|-]<项>{〈加法运算符><项>} ﻫ<项〉::=<因子〉{〈乘法运算符>〈因子〉} <因子>:=<标识符〉|<无符号整数〉 <加法运算符>::= +|- <乘法运算符>::= *|/ ﻫ<条件语句>::=if<条件>’{’<语句序列>’}’[else’{’<语句序列>’}'] <条件〉::=<表达式>〈关系运算符><表达式〉 ﻫ<关系运算符>::= ==|!=|>|<|>=|<= 〈循环语句>::=for’(’〈表达式>;<条件>;〈表达式>')’ ’{’<语句序列〉’}’ 〈函数调用语句〉::=<标识符>’(’〈标识符>{,<标识符>}|<空>’)' ﻫ<标识符>::=<字母>{<字母〉|<数字>} <无符号整数>::=〈数字〉{〈数字>} ﻫ〈字母>::=a|b|c|…|X|Y|Z <数字>::=0|1|2|…|8|9单词分类情况关键字:in t if el s e f o r标识符:以字母开头得字母与数字得组合关系运算符: ==|!=|〉|〈|>=|〈=加法运算符:+|- ﻫ乘法运算符: *|/界符:,;{ } ( )2. 设计单词得输出形式,单词得种类与值得表示方法种别码 单词值如:1 i nt3、 编写词法分析程序 cffx、c实现基本得词法分析器,能够分析关键字、标识符、数字、运算符(需要有“==”或“:="之类需要超前搜索得运算符)以及其她一些符号.// 编译原理词法分析程序、cpp #include〈std io、h>#in clude<s tdli b、h>#in cl u d e〈st ring、h〉t y pe d e f s t ruct wor d s{ﻩint id;ﻩc h ar n ame[20];c h a r valu e[2 0];}word;c h a ...