编译原理词法分析和语法分析报告 代码(C语言版)[1].pdfVIP

  • 20
  • 0
  • 约2.37万字
  • 约 21页
  • 2018-12-21 发布于浙江
  • 举报

编译原理词法分析和语法分析报告 代码(C语言版)[1].pdf

西 南 交 通 大 学 编译原理课程设计报告 系 (院): 信息科学与技术学院 专 业: 软件工程 班 级: 软件二班 姓 名: 吴任杰 学 号: 指导教师: 丁光耀 2012年 12 月 14 日 词法分析 一、实验目的 设计、编制并调试一个词法分析程序,加深对词法分析原理的理解。 二、实验要求 2.1 待分析的简单的词法 (1)关键字: begin if then while do end 所有的关键字都是小写。 (2)运算符和界符 : + - * / ;( ) # (3)其他单词是标识符 (ID)和整型常数 (SUM),通过以下正规式定义: ID letter (letter |digit)* NUM digit digit* (4)空格有空白、制表符和换行符组成。空格一般用来分隔ID、SUM、运算符、界符 和关键字,词法分析阶段通常被忽略。 2.2 各种单词符号对应的种别码: 表2.1 各种单词符号对应的种别码 单词符号 种别码 单词符号 种别码 bgin 1 : 17 If 2 : 18 Then 3 20 wile 4 21 do 5 22 end 6 23 lettet (letter|digit)* 10 24 dight dight* 11 25 + 13 ; 26 — 14 ( 27 * 15 ) 28 / 16 # 0 2.3 词法分析程序的功能: 输入:所给文法的源程序字符串。 输出:二元组 (syn,token 或sum)构成的序列。 其中:syn 为单词种别码; token 为存放的单词自身字符串; sum 为整型常数。 例如:对源程序begin x: 9:ifx9then x: 2*x+1/3;end#的源文件,经过词法分析后输出如 下序列: (1,begin)(10,x)(18,: )(11,9)(26,;)(2,if)…… 、 三 词法分析程序的算法思想: 算法的基本任务是从字符串表示的源程序中识别出具有独立意义的单词符号,其基本思想 是根据扫描到单词符号的第一个字符的种类,拼出相应的单词符号。 3.1 主程序示意图: 主程序

文档评论(0)

1亿VIP精品文档

相关文档