第四次作业-文法和语言总结与梳理

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

字母表:元素的非空有穷集合,元素称为符号,字母表也称为符号集。

符号串:由字母表中的符号组成的任何有穷序列。

文法G:(Vn,Vt,P,S),其中Vn为非终结符集;Vt为终结符集;P为产生式的集合,至少包含一个非终结符;S为识别符或开始符。

空串ε:当Aⁿ的n=0时。

推导方法:分为最左推导,最右推导(规范推导),->表示产生式,=>表示推导式。

文法:分为0型、1型、2型和3型。0型文法:α->β,两个都是集合,且至少含有一个非终结符。1型文法(上下文有关文法):每个α->β都满足∣β∣≥∣α∣。2型文法(上下文无法文法):每个α->β都满足α是一个非终结符。3型文法(正规文法):A->aB或A->a。

条件语句的文法片段: <条件语句>->if <条件> then <语句>| if <条件> then <语句> else <语句>

语法树:也称为推导树。如果一个语言存在两颗不同的语法树,则说这个语言的文法是二义的。

句型:分为短语、直接短语和句柄。短语就是每个语法树的最终结果相结合,直接短语就是该语法树只有一个支流的最终结果,句柄就是最左边的直接短语。

 

2. 尝试写出PL/0 语言的文法。

整数n: n->...|0|1|2|3|...

标识符i: i-><标识符>

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

条件语句: ::= if <条件> then <语句>

赋值语句: ::= <id> :=<表达式>

复合语句: :: = begin<语句>{;<语句>} end

函数:  

  type_specifier à

  VOID

  | CHAR

  | INT

  | FLOAT

程序: ::=<分程序>::=[<常量说明部分>][<变量说明部分>][<过程说明部分>]<语句>

转载于:https://www.cnblogs.com/ccla/p/11596824.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值