其他分享
首页 > 其他分享> > 4

4

作者:互联网

1.梳理第二章的内容,写一篇理解与总结。

所谓一个语言的语法是指一组规则,用它可以形成和产生一个合适的程序。目前广泛使用的手段是上下文无关文法,即用上下文无关文法作为程序设计语言语法的描述工具。

非终结符
规则的左部符号, 通常用VN 表示。

终结符
在规则的右部, 它是语言不可再分的单位,组成句子的基本单位, 常用VT 表示。

开始符号
为非终结符,又称为识别符号, 常用S表示。

产生式
定义符号串之间关系的一组规则, 形如A→ α,文法规则是产生式, 产生式不一定是文法规则。

推导
由文法开始符号开始推导, 用产生式的右部取代产生式的左部, 直到推到终结符号为止。

推导分为最左推导和最右推导, 最左推导每次替换式子的最左边, 最右替换每次推导式子的最右边。

规约
规约是句子通过文法规则将产生式的左部取代右部, 直到规约到非中介符为止。

 

2. 尝试写出PL/0 语言的文法。(或者你认为比较好的语言规则)

<条件> → <表达式><关系运算符><表达式>|odd<表达式>

 <表达式> → [+|-]<项>{<加减运算符><项>}

 <项> → <因子>{<乘除运算符><因子>}

 <因子> → <标识符>|<无符号整数>|(<表达式>)

 <加减运符> → +|-

 <乘除运算符> → *|/

 <关系运算符> → =|#|<|<=|>|>=

 <条件语句> → if<条件>then<语句>

标签:,文法,终结符,推导,右部,规则,左部
来源: https://www.cnblogs.com/hjqq/p/11600038.html