有下列文法:
S → (L) | a
L → L,S | S
(1) 写一个语法制导定义,输出括号的对数。
(2) 写一个语法制导定义,输出括号嵌套的最大深度。
(1) 语法制导定义
S->(L) S.val:=L.val+1
S->a S.val:=0
L->L1,S L.val:=L1.val+S.val
L->S L.val:=S.val
S'->S print(S.val)
(2)语法制导定义
S'->S print(S.val)
S->(L) S.val = L.val +1
S->a S.val = 0
L->L1,S L.val = max(L1.val,S.val)
L->S L.val = S.val