美文网首页
编译原理——语法分析小结(1~3)

编译原理——语法分析小结(1~3)

作者: 牛程程 | 来源:发表于2017-07-18 08:20 被阅读0次

1、语法分析器的作用

    语法分析器接收词法分析器提供的记号串,检查它们是否能由源程序语言的文法产生。

    典型的语法分析器主要分为通用语法分析方法,自顶向下和自底向上的方法。

    语法分析时错误恢复策略:紧急方式恢复策略、短语级恢复策略、出错产生式策略、全局纠正策略。

2、上下下文无关文法

    上下文无关文法由终结符、非终结符、开始符号和产生式组成。

    推导的核心思想是把产生式看成重写规则,即用产生式右部的串来代替左部的非终结符。分析树是推倒的图形表示。

3、文法的编写

    正规表达式所描述的每一种结构都可以用上下无关文法来描述。正规表达式不能描述嵌套结构。但是正规表达提供了比上下无关文法更简洁且易于理解的定义,并且可以自动构造有效的词法分析器。

    消除二义性。

    消除左递归算法。

    提取左因子算法。

相关文章

  • 编译原理——语法分析小结(1~3)

    1、语法分析器的作用 语法分析器接收词法分析器提供的记号串,检查它们是否能由源程序语言的文法产生。 典型的...

  • 2018-09-07

    编译原理 Ch1 概念 编译程序 编译程序由八部分组成: 词法分析程序 语法分析程序 语义分析程序 中间代码生成程...

  • 第一章作用域是什么

    1.1 编译原理 编译语言 分词/词法分析 解析/语法分析 代码生成 对于Javascript来说,大部分情况发生...

  • JS预编译

    JS是解释型语言,就是编译一行,执行一行 JS运行三部曲 1 语法分析2 预编译3 解释执行语法分析很简单,就是殷...

  • JavaScript预编译流程详解

    1-JavaScript运行三部曲 1.语法分析2.预编译3.解释执行 语法分析很简单,就是引擎检查你的代码有没有...

  • 1 Nodejs01 预学

    1、计算机语言、编程/程序语言的区别:词法分析、语法分析、语义分析;-> 底层涉及编译原理 (1).计算机能接受的...

  • 预编译 作用域 闭包 立即执行-学习笔记11-1

    JavaScript(单线行解释型语言)运行三部曲: 1语法分析 2预编译 3 解释执行 知识点:预编译 作用...

  • 编译原理——语法分析(LR语法分析)

    1、LR语法分析算法 LR语法分析器的模型是由输入、输出、栈、驱动程序以及包含动作(action)和转移(goto...

  • JavaScript运行机制

    传统代码编译过程(编译器): 1、词法分析 将变量,运算符等直接翻译 2、语法分析 对翻译结果进行语法分析,构造语...

  • 你不知道的JavaScript —— 作用域是什么

    1.1 编译原理 传统编译步骤 分词/词法分析(拆分成一个个词法单元)——>解析/语法分析(词法单元流转化为抽象语...

网友评论

      本文标题:编译原理——语法分析小结(1~3)

      本文链接:https://www.haomeiwen.com/subject/pcjckxtx.html