语言是字母表上所有句子集合的子集 语言是字母表上一些句子的集合 语言就是从通过组合规则从∑*中选择一些合 乎要求的句子形成的集合。
13
⑶ L3={0, 1, 00, 01, 10, 11, 000, …}=∑+ ⑷ L4={ε, 0, 1, 00, 01, 10, 11, 000, …}=∑* ⑸ L5={0n|n≥1} ⑹ L6={0n1n|n ≥ 1} ⑺ L7={1n|n ≥ 1} ⑻ L8={x|x∈∑+且x中0和1的个数相同}
∈(V∪T)*。
产生式又叫做定义式或者语法规则。 第一个产生的左边一定是开始符号
31
α→β1|β2|…|βn 读作:α定义为β1,或者β2 ,…,或者βn 称β1,β2,…,βn为候选式(candidate)
例:S → i|SAS|(S), A → +|-|*|/
5
文法的形式定义
G=(V,T,P,S)
文法的形式定义 约定
⑴ 对一组有相同左部的产生式
P——产生式(production)的非空有穷集合 产生式,形如α→β 读作:α定义为β
α→β1,α→β2, … ,α→βn
可以简单地记为:
α 称为左部,其中α∈(V∪T)+,且α中至少有V中
元素的一个出现。
β 称为右部,β
例
∑={0, 1} ∑0= {ε}
例
∑={0, 1} ∑+= {0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, …} ∑* = {ε, 0, 1, 00, 01, 11, 000, 001, 010, 011, 100, …}
∑1= ∑0∑ = {ε} {0, 1} = {0, 1} ∑2 = ∑1∑ = {00, 01, 10, 11} ∑3 = ∑2∑= {000, 001, 010, 011, 100, 101, 110, 111}