1 郑 州 轻 工 业 学 院 编 译 原 理 课 程 设 计 总 结 报 告 设计题目:词法分析器(语法分析器) 学生姓名: 系 别: 专 业: 班 级: 学 号: 指导教师: 2 0 0 1 3 年 6 月 2 日 2 目 录 一、设计题目………………………………………………………3 二、运行环境(软、硬件环境)…………………………………… 3 三、算法设计的思想………………………………………………3 四、算法流程图……………………………………………………5 五、算法设计分析…………………………………………………5 六、源代码…………………………………………………………6 七、运行结果……………………………………………………1 1 八、收获及体会…………………………………………………… 1 2 3 (一)设计题目 词法分析器 (二)运行环境 Visual C++
0 (三)算法设计的思想 各种单词符号对应的种别码: 单词符号 种别码 单词符号 种别码 begin 1 : 17 if 2 := 18 then 3 < 20 while 4 21 do 5 23 letter(letter|digit)* 10 >= 24 digitdigit* 11 = 25 + 13 ( 26 - 14 ) 27 * 15 ; 28 / 16 # 0 算法的基本任务是从字符串表示的源程序中识别出具有独立意义的单词符号,其基本思想是根据扫描到单词符号的第一个字符的种类,拼出相应的单词符号
主程序示意图: 主程序示意图如下;其中初值包括如下两个方面: 源程序 词法分析器 Token 串 4 (1) 关键字表的初值
关键字作为特殊标示符处理,把它们预先安排到一张表格中(称为关键字表),当扫描程序识别出标识符时,查关键字表
如果能查到匹配的单词,则该单词为关键字,否则为一般的标识