4
作者:互联网
1.梳理第二章的内容,写一篇理解与总结。
所谓一个语言的语法是指一组规则,用它可以形成和产生一个合适的程序。目前广泛使用的手段是上下文无关文法,即用上下文无关文法作为程序设计语言语法的描述工具。
非终结符
规则的左部符号, 通常用VN 表示。
终结符
在规则的右部, 它是语言不可再分的单位,组成句子的基本单位, 常用VT 表示。
开始符号
为非终结符,又称为识别符号, 常用S表示。
产生式
定义符号串之间关系的一组规则, 形如A→ α,文法规则是产生式, 产生式不一定是文法规则。
推导
由文法开始符号开始推导, 用产生式的右部取代产生式的左部, 直到推到终结符号为止。
推导分为最左推导和最右推导, 最左推导每次替换式子的最左边, 最右替换每次推导式子的最右边。
规约
规约是句子通过文法规则将产生式的左部取代右部, 直到规约到非中介符为止。
2. 尝试写出PL/0 语言的文法。(或者你认为比较好的语言规则)
<条件> → <表达式><关系运算符><表达式>|odd<表达式>
<表达式> → [+|-]<项>{<加减运算符><项>}
<项> → <因子>{<乘除运算符><因子>}
<因子> → <标识符>|<无符号整数>|(<表达式>)
<加减运符> → +|-
<乘除运算符> → *|/
<关系运算符> → =|#|<|<=|>|>=
<条件语句> → if<条件>then<语句>
标签:,文法,终结符,推导,右部,规则,左部 来源: https://www.cnblogs.com/hjqq/p/11600038.html