zoukankan      html  css  js  c++  java
  • 第四次作业

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

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

    使用文法作为工具,不仅为了严格地定义句子的结构,也是为了适当条数的规则的全部句子描述出来,可以说文法是以有穷的集合刻画无穷的集合的一个工具。

    0型文法定义:

    0型文法(PSG): α∈(VN∪VT)* ,且至少含一个VN

    β∈(VN∪VT)*

    1型文法:
      对任一产生式α→β,都有|β|>=|α|, 仅仅 S→ε除外
      产生式的形式描述:α1Aα2→α1βα2
      (其中,α1、α2、β∈(VN∪VT)*,β≠ε,A∈VN)
      即:A只有出现在α1α2的上下文中,才允许用β替换。
      产生的语言称“上下文有关语言”但S不能出现在产生式的右部。

    2型文法:对任一产生式α→β,都有α∈VN,β∈(VN∪VT)*
      产生式的形式描述:A→β(A∈VN)
      即β取代A时,与A所处的上下文无关。
      产生的语言称“上下文无关语言”

    3型文法(RG):也称正规文法
      每个产生式均为 “A→aB”或“A→a” —— 右线性
        “A→Ba”或“A→a” —— 左线性
      其中,A、B∈VN,a∈VT*
      产生的语言称“正规语言”

    4个文法类的定义是逐渐增加限制的,因此每一种正规文法都是上下文无关的,每一种上下文无关文法都是上下文有关的,而每一种上下文有关文法都是0型文法。   

    1.语言可以看成在一个基本符号集上定义的,按一定规则构成的一切基本符号串组成的集合
    2.字母表(符号集)是一个非空有穷集合
    3.符号(字符)字母表中的元素
    4.符号串:符号的有穷序列。注意: E 表示空符号串!5.符号串集合:字母表∑上若干个符号串组成的集合

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

    整数n->::= 0|1|2|3|4.....|8|9

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

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

    条件语句-><条件语句>:=IF<条件>THEN<语句>

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

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

    函数->?

    程序->::=<分程序>.

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

    ...

  • 相关阅读:
    设计模式之构造模式
    设计模式之创建模式
    用mongodb 固定集合实现只保留固定数量的记录,自动淘汰老旧数据
    多线程何如获取返回值
    基于redis的消息订阅与发布
    multiple类型的select option在django后台如何取值
    使用redis分布式锁解决并发线程资源共享问题
    数据库架构
    MongoDB数据库设计中6条重要的经验法则
    【mysql】开启binlog后异常:impossible to write to binary log since BINLOG_FORMAT = STATEMENT
  • 原文地址:https://www.cnblogs.com/huangzixuan/p/11594654.html
Copyright © 2011-2022 走看看