• 作业4 文法和语文总结与梳理


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

    (1)文法涉及的基本概念,以及自己不太熟悉的概念

    L={A,B, … ,Z,a,b, … ,z}

    D={0,1, … ,9}

    LUD:全部字母和数字的集合

    LD:由一个字母后跟一个数字组成的所有符号串的集合

    L4:由4个字母组成的所有符号串在集合

    L*:由字母组成的所有符号串(包括ε)的集合

    D+:由一个或若干个数字组成的所有符号串的集合

    L(LUD)*:以字母开头,后跟字母、数字组成的所有符号串的集合

     文法是描述语言的语法结构的形式规则(即语法规则)。就是指怎么由一堆符号组成一个有含义的句子的规则和协议。并且是一种上下文无关的文法。

    文法例子:

    上面定义英文句子的规则就可以说是一个上下文无关文法。其中,<句子>被称为开始符号,<主语><谓语><代词>之类的被称为非终结符号,He、gave之类的被称为终结符号

    归纳起来,一个上下文无关文法G包括四个部分:终结符号,非终结符号,开始符号,产生式

    更精确的定义:

    (2)语法分析树与二义性

    •  最右推导,每个推导过程都是从最右边的非终结符号的替换开始
    •  最左推导,每个推导过程都是从最左边的非终结符号的替换开始

    一个文法可以唯一确定一个语言,但是一个语言不一定唯一对应一个文法

    用一种树形的图示来表示这个句型的推导过程,这棵树就被称为”语法分析树“,简称”语法树“。

    列如:

     对于一个文法,如果它的某些句子对应两棵不同的语法树,这个文法就属于“二义性文法”。

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

    整数n    <数字> ::= 0 | 1 | 2 | … | 8 | 9

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

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

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

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

    复合语句   <复合语句> ::= BEGIN <语句> {;<语句>} END

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

    程序   <程序> ::= <分程序>

    ...

  • 相关阅读:
    ASP.NET使用SWFUpload上传大文件教学
    Gridview自定义分页(转载)
    扩展GridView之个性分页(转载)
    畅通工程
    一个人的旅行
    Stockbroker Grapevine
    Arbitrage
    More is better
    HDU Today
    Minimum Transport Cost
  • 原文地址:https://www.cnblogs.com/zhengjieting/p/11583681.html
Copyright © 2020-2023  润新知