作业题: 2
1(a,c,d), 2
8(a,c,d), 2
8(a,b,c), 5
15 第二章作业: 2.1 (a) a | a[a-z]*a (c) [1-9][0-9]* (d) [0-9]*[02468] 2
8(a) 正则表达式中丢了单独a 的情况的比较多,另外有些同学在有NFA 到DFA 的转化过程中,不能够正确的确定最终的状态,造成有两个终结状态的情况
(c) (d) 问题比较多,建议同学画出 DFA 图生成的全部过程
Start [1-9] [0-9] Start a a [b-z] a [b-z] 2
12 3.4 (c)
rewrite this grammar to establish the correct precedences for the operator
rexp -> rexp “|” rexp1 | rexp1 rexp1 -> rexp1 rexp2 | rexp2 rexp2 -> rexp3 * | rexp3 rexp3 -> (rexp) | letter 左结合 4.8 (a) 消除左递归 lexp -> atom | list atom -> number | identifier list -> (lexp-seq) lexp-seq -> lexp lexp-seq’ lexp-seq’ -> lexp lexp-seq’ | first (lexp)= { number ,identifier,( } first (atom)= { number, identifier } first (list) = { ( } first (lexp-seq)= { number ,identifier,( } f