解析树与下推自动机详解
1. 上下文无关文法示例
首先来看两个上下文无关文法(CFG)的例子。
1.1 语言 $L = {w | \text{w 中 a 的数量是 3 的倍数}}$ 的 CFG
以下是该语言的 CFG 定义及测试代码:
(define MULT3-as (make-cfg
(S B C)
(a b)
((S ,ARROW ,EMP)
(S ,ARROW aB)
(S ,ARROW bS)
(B ,ARROW aC)
(B ,ARROW bB)
(C ,ARROW aS)
(C ,ARROW bC))
S))
;; Tests for MULT3-as
(check-equal? (grammar-derive MULT3-as
(b b a b b))
"(b b a b b) is not in L(G).")
(check-equal? (grammar-derive MULT3-as
(b b a b b a))
"(b b a b b a) is not in L(G).")
(check-equal? (grammar-derive MULT3-as
(b b a b a b a a b))
"(b b a b a b a a b) is not in L(G).")
解析树与下推自动机详解
超级会员免费看
订阅专栏 解锁全文
85

被折叠的 条评论
为什么被折叠?



