文法,语言的定义 由文法G生成的语言记为L(G),它是文法G 的一切句子的集合 L(G)={XS→*x,其中S为文法的开始符 号,且x∈Vr 例:G:S→0S1,S→01 L(G)={01叫≥1}
文法,语言的定义 由文法G生成的语言记为L(G),它是文法G 的一切句子的集合: L(G)={x|S =>* x,其中S为文法的开始符 号,且x ∈VT * } 例:G: S→0S1, S→01 L(G)={0n1 n |n≥1}
文法的类型 通过对产生式施加不同的限制, Chomsky将文 法分为四种类型: 0型文法:对任一产生式a→β,都有 a∈(VUvr)+,β∈( VUV)* 1型文法:对任一产生式a→B,都有|β≥a|, 仅仅S→ε除外 2型文法:对任一产生式a→β,都有a∈V 3型文法:任一产生式a→B的形式都为A→aB或 A→a,其中A∈W,B∈V,a∈Vr*
文法的类型 通过对产生式施加不同的限制,Chomsky将文 法分为四种类型: 0型文法:对任一产生式α→β,都有 α∈(VN∪VT) + , β∈(VN∪VT) * 1型文法:对任一产生式α→β,都有|β|≥|α|, 仅仅 S→ε除外 2型文法:对任一产生式α→β,都有α∈VN 3型文法:任一产生式α→β的形式都为A→aB或 A→a,其中A∈VN ,B∈VN ,a∈VT *
上下文无关文法及其语法树 上下文无关文法有足够的能力描述程序设计语言 的语法结构 语法树-句型推导的直观表示
上下文无关文法及其语法树 上下文无关文法有足够的能力描述程序设计语言 的语法结构 语法树---句型推导的直观表示
语法树-句型推导的直观表示 给定文法G=(vPs),对于G的任何句型都能 构造与之关联的语法树(推导树) 定理: G为上下文无关文法, 对于α≠e,有S→*a,当且仅当 文法G有以a为结果的一棵语法树(推导树)
语法树---句型推导的直观表示 给定文法G=(VN,VT ,P,S),对于G的任何句型都能 构造与之关联的语法树(推导树) 定理: G为上下文无关文法, 对于α≠ε,有S =>* α,当且仅当 文法G有以α为结果的一棵语法树(推导树)
句型的分析 句型分方就是识别一个符号串是否为某文法 的句型,是某个推导的构造过程。 在语言的编译实现中,把完成句型分析的程 序称为分析程或识别程序。分析算法又 称识别算法。 从左到右的分析算法,即总是从左到右地识 别输入符号串,首先识别符号串中的最左 符号,进而依次识别右边的一个符号,直 到分析结束
句型的分析 句型分析就是识别一个符号串是否为某文法 的句型,是某个推导的构造过程。 在语言的编译实现中,把完成句型分析的程 序称为分析程序或识别程序。分析算法又 称识别算法。 从左到右的分析算法,即总是从左到右地识 别输入符号串,首先识别符号串中的最左 符号,进而依次识别右边的一个符号,直 到分析结束