zoukankan      html  css  js  c++  java
  • 文法和语言总结与梳理 (9.25)

    文法的二义性

    一个句型可能对应多个语法树,一个句型可能对应多个最左/最右推导。

    如果一个文法中的某个句子可以对应两个不同的语法树,则称这个文法是二义的。

    两个不同的文法可能是一样的语言。

    如果一种语言的所有文法都是二义的,则称此语言先天二义。

    判定一个文法是否是二义的是递归不可解的。

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    洛谷 P1692 部落卫队
    洛谷 P1113 杂务
    洛谷 P1546 最短网络 Agri-Net
    洛谷 P2121 拆地毯
    洛谷 P2728 纺车的轮子 Spinning Wheels
    洛谷 P2126 Mzc家中的男家丁
    线段树双标记——乘法和加法
    A. Feed the cat
    洛谷 P1535 游荡的奶牛
    BZOJ1050 [HAOI2006]旅行
  • 原文地址:https://www.cnblogs.com/lywkkk/p/11583493.html
Copyright © 2011-2022 走看看