zoukankan      html  css  js  c++  java
  • 04 文法和语文总结与梳理 09/25

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

      第二章主要学习了文法和语言,关于概念大部分可以参考:https://www.cnblogs.com/dahu-daqing/p/8884912.html,作者用例子来帮助我们理解文法、字符串、字母表等概念,通俗易懂。

      讲讲实验的方面,这一章的实验主要是如何得到一个表达式的最左推导、最右推导以及语法树:

      (1)最左、最右推导:方法比较简单,有点类似于离散数学的思维逻辑,最左即从左往右一步步带入推导,最右则相反。

      (2)语法树:类似于数据结构的树形图,按照推导规则往下画出子树。如果该表达式没有二义性,最左推导出来的语法树和最右推导是一样的。

      我们也可以从语法树中得到短语、直接短语和句柄:

      ① 短语:找出每个子树末端节点形成的字符串,便可以得到所以的短语

      ②直接短语:先找出没有包含其他更小子树的子树,它的叶结点就是直接短语

      ③句柄:最左边的直接短语就是句柄

      关于这些实验的例子,请查看随笔3,可以巩固理解。

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

      ①整数n:n :: = 1 | 2 | ..... | 9 | 0

      ②标识符i: i :: = <字母> | {<字母> | <数字 >}

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

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

      ⑤赋值语句:<赋值语句> ::=  <标识符>:=<表达式>

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

      ⑦函数:<函数> ::= <类型说明><函数名><复合语句>

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

    参考文档:文法和语言,理解克林闭包  https://www.cnblogs.com/dahu-daqing/p/8884912.html

  • 相关阅读:
    eclipse maven 插件 安装 和 配置
    Windows下 maven3.0.4的安装步骤+maven配置本地仓库
    js中转换Date日期格式
    Java 集合类详解
    java的反射机制
    Java 单例模式详解
    Http协议与TCP协议简单理解
    初识JavaScript,Ajax,jQuery,并比较三者关系
    MyBatis
    MyEclipse、Eclipse优化设置
  • 原文地址:https://www.cnblogs.com/jwwzone/p/11583693.html
Copyright © 2011-2022 走看看