• 文法和语言总结与梳理 (9.25)


    文法的二义性

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    设计模式相关,单例模式!
    混合App交互相关,jsBridge的原理
    Vue相关,插槽怎么用!
    Mysql相关,查询功能整理
    图文并茂讲解进程与线程
    线程与进程的区别及其通信方式
    算法,十进制数转任意进制数
    JavaScript,leetcode第198题,打家劫舍
    2.4G无线控制器附加AT2401C功放IC增加距离
    超低功耗WiFi :ESP8089
  • 原文地址:https://www.cnblogs.com/lywkkk/p/11583493.html
Copyright © 2020-2023  润新知