zoukankan      html  css  js  c++  java
  • 4.文法和语文总结与梳理

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

    字母表:是元素的非空有穷集,字母表中的元素称为符号,因此字母表也称为符号集

    符号串:由字母表中的符号组成的任何有穷序列称为符号串。例如A={a,b,c}上的一些符号串有a,b,c,ab,aaca。

    对于文法G定于为四元组(Vn,Vt,P,S),其中Vn为非终结符集;Vt为终结集合;P为规则(a->B)的集合;S为识别符或开始符。

    若有符号串v、w满足:v=yaq,w=ybq,则说v直接产生w,或说w是v的直接推导。·设G[S]是一个文法,如果符号串x是从识别符号推导出来的,即有S=>x,则称x是文法G[S]的巨型。若x仅由终结符号组成,即S=>x,x属于V,则称x为G[S]的句子。文法描述的语言是该文法一切句子的集合。

    文法的类型有:0型、1型、2型、3型。

    0型文法称短语文法。

    1型也叫上下文有关的:若P中的每一个产生式a->B均满足|B|>=|a|,仅仅S->e。

    2型也叫上下文无关的:若P中的每一个产生式a->B均满足a是一个非终结符,B属于(Vn并Vt)。

    3型也叫正规文法:若P中的每一个产生式都是A->aB或A->a,其中A和B都是非终结符,a属于Vt。

    描述上下文无关文法的句型推导的直观工具,即语法树,也称推导树。

    如果一个文法存在某个句子对应两颗不同的语法树,则说这个文法是二义的。

    令G是一个文法,S是文法的开始符号,aBq是文法G的一个句型。如果有S=>aAq且A=>B,则称B是句型aBq相对于非终结符A的短语。特别地,如果有A=>B,则称B是句型aBq相对于A->B的直接短语(也称简单短语)。一个右句型的直接短语称为该句型的句柄。

    一个语言不止一个文法;一个文法对应一种语言;文法的二义性不可判定的。

    ----------------------------------------------------------------------------------------------------------------------

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

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

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

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

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

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

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

    函数         : ::=整数、标识符、表达式、条件语句、赋值语句等组成的

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

    ...

  • 相关阅读:
    HDU 1124 Factorial(简单数论)
    29.QT主窗口加widget
    28.开始画面和异形窗口
    27.Qt时钟
    26.QT颜色与布局
    25.QT进度条
    146.正则表达式
    24.qint64转QString 以及获取文件属性
    23.QFile遍历
    22.监视文件
  • 原文地址:https://www.cnblogs.com/q1uj1e/p/11583695.html
Copyright © 2011-2022 走看看