19 上下文无关文法_x264-【斯坦福编译原理中文翻译版】19 上下文无关文法
热门回复:
- zerongchen:深圳-java-czr 打卡
总结大致如下:
回顾:这里所说的终结符号,应该是13节中秒描述的关键字 (比如 if else then ),不可被替换,而且在语言中一开始就没定下来的,非终结符号更像是一些Identifier 仅仅是标识
上下文无关文法包含
a set of terminals T
a set of non-terminals N
a start symbol S (S ∈N)
a set of production P x—> Y1Y2Y3…Yn 类似这种,其中x是开始状态 x∈N,右边的Y元素可以是一个终结符号 ∈T,也可以是一个非终结符号,或者是£,即Yi∈T n N n{£}
定义一门语言上下文无关文法的,则L(G)有一个开始符号S,这么语言用a1a2… an来表示的话。对于任意i ,ai 是G的一个终结符号。则满足以下式子
{a1….an| Vi ai∈ T n s-*->a1…an}
非终结符是可以被替换的(production),终结符是最终状态符,不可被替换
但对于一个非终结符可以被多种表达式(production)标识,多个之间可以用 | 隔开 ,比如:
Expr —> if expr then expr else expr fi….
| while expr loop
| identifier
- 瘟侯在此:XD
- zero渴望飞的哺乳类:三连支持
- OracleZhao:打卡,深圳-Java-钦
- 夔乄兀:上海-Java-阿珩