- 6
- 0
- 约1.45万字
- 约 24页
- 2023-07-15 发布于山东
- 举报
第一章
什么是编译器?
编译程序的结构分为几个阶段,各阶段的任务是什么?
遍、编译前端及编译后端的含义?
编译程序的生成方式有哪些?
第二章
写一文法,使其语言是偶正整数的会合。
要求:(1)允许0打头(2)不允许0打头
解:(1)允许0开头的偶正整数会合的文法
→NT|DT→NT|D
N→D|1|3|5|7|9D→0|2|4|6|8
2)不允许0开头的偶正整数会合的文法
→NT|D
→FT|G
→D|1|3|5|7|9
→2|4|6|8
→N|0
→D|0
证明下述文法G[〈表达式〉]是二义的。
〈表达式〉∷=a|(〈表达式〉)|〈表达式〉〈运算符〉〈表达式〉
〈运算符〉∷=+|-|*|/
解:可为句子a+a*a结构两个不同的最右推导:
最右推导1〈表达式〉〈表达式〉〈运算符〉〈表达式〉
〈表达式〉〈运算符〉a
〈表达式〉*a
〈表达式〉〈运算符〉〈表达式〉*a
〈表达式〉〈运算符〉a*a
〈表达式〉+a*a
a+a*a
最右推导2〈表达式〉〈表达式〉〈运算符〉〈表达式〉
〈表达式〉〈运算符〉〈表达式〉〈运算符〉〈表达式〉
〈表达式〉〈运算符〉〈表达式〉〈运算符〉a
〈表达式〉〈运算符〉〈表达式〉*a
〈表达式〉〈运算符〉a*a
〈表达式〉+a*a
a+a*a
给出生成下述语言的上下文无关文法:
1){anbnambm|n,m=0}
2){1n0m1m0n|n,m=0}
解:(
原创力文档

文档评论(0)