重庆工学院商贸信息学院计算机科学与技术 1 班 陈俊 编译原理课程设计报告
LL(1) 语法分析器
一 、课程设计的目的
通过课程设计进一步理解高级语言在计算机中的执行过程,加深对编译原
理中重点算法和编译技术的理解,提高自己的编程能力,培养好的程序设计风
格。同时通过某种可视化编程语言的应用,具备初步的 Windows 环境下的编程
思想。解和掌握 LL(1)语法分析方法的基本原理;根据给出的 LL(1)文法,掌握
LL(1)分析表的构造及分析过程的实现。
二、课程设计的要求及其方法
语法分析程序要求实现 sample 语言中几种最常见的、基本的语法单位的分
析:算术表达式,逻辑表达式,赋值语句,if 语句,for 语句,while 语句,
repeat 语句等,各个语法单位的定义如下:
Sample 语言的定义
<字符>::=<字母>|<数字>|<界符>
<字母>::=a|b|c…|z|A|B|C…|Z
<数字>::=0|1|2|3…|9
<单界符>::=+|-|*|/|=|<|>|(|)|[|]|:\;|,|’|_|.
单词集的定义
(1) <单词集>::=<保留字>|<双界符>|<标识符>|<常数>|<单界符>
(2) <保留字>
::=and|array|begin|bool|call|case|case|char|const|do|dlse|end|false|for|if|input|integer|
not|of|or|output|program|read|real|repeat|set|then|to|true|until|var|while|write
(3)<双界符>::=/*|*/|<=|>=|<>|:=
(4)<标识符>::=<字母>|<标识符><数字>|<标符><字母>
第 1 页
- 1
- 2
前往页