类型

文法

语言

0型文法,PSG文法,Phrase Structure Grammar,递归可枚举文法,最宽泛的文法

1型文法,CSG文法,Context-sensitive Grammar ,上下文有关文法,产生式左边可以含有一个、两个或两个以上的字符,但其中必须至少有一个非终结符。 这就是上下文有关的来历

2型文法,CFG文法,Context-free Grammar,上下文无关文法,产生式左边只有一个非终结符。

3型文法,RG文法,Regular Grammar ,正则文法,左边只有一个非终结符,右边要么是一个非终结符,要么是一个非终结符和一个终结符,而且顺序还一样。

Σ+ =Σ* - ε,*代表有空串,+代表没空串

什么是规范推导呢?就是说要推导符号的右边必须是终结符串。之所以要这样规定是LR文法的推导过程要求的。因为右边的还没有读入,就是这样:

直接推导,就是字面意思,一步就能推导出来:

间接推导、n次推导

有两种符号

第一种是,表示多次运用直接推导

第二种是,表示零次或多次运用直接推导

n表示中间的步骤数

这样理解的规范推导,实际上就是最右推导。

正则表达式实际上是3型文法,可以用有限自动机来确定,语法怎么转自动机呢?这是一个问题

能够用DFA表示的文法都是**正则文法**

NFA与DFA是等价的。

ε-闭包的概念就是一个状态,只经过空串道路抵达的所有节点的集合。看看例子就知道了,定义是真的反人类。

每日小常识:

变量的左值和右值,右值就是在后面的,是值,左值在前面,是地址

突出应用在++a和a++上,前者返回左值,也就是地址,后者返回右值,也就是值。

编译原理(一)几种文法,基础符号定义,闭包举例相关推荐

  1. 编译原理: 最小化 DFA(划分) 验证 DFA(Kleene 闭包)

    编译原理: 最小化 DFA(划分) & 验证 DFA(Kleene 闭包) 文章目录 编译原理: 最小化 DFA(划分) & 验证 DFA(Kleene 闭包) 简介 参考 正文 示例 ...

  2. 【编译原理学习笔记】1:符号和符号串,文法和语言,文法的类型

    符号和符号串 字母表(符号集):元素的非空有穷集合. 符号:字母表中的元素. 符号串:由字母表中的符号组成的任何有穷序列. 头:如符号串z=xy中的x. 尾:如符号串z=xy中的y. 固有头:符号串的 ...

  3. 弹性地基梁板法计算原理_一种筏板基础内力分析方法与流程

    本发明涉及建筑建设技术领域,具体涉及一种筏板基础内力分析方法. 背景技术: 筏板基础设计通常采用有限元分析(pkpm系列jccad及yjk系列基础设计模块软件),有限元分析由地基基础建模.地基基础有限 ...

  4. 编译原理(二)文法和语言、符号和符号串、文法的类型、语法树

    要点: 符号和符号串的相关概念 文法和语言的形式定义 文法的类型 上下文无关文法及其语法树 上下文无关文法的句型分析 有关文法实用中的一些说明 目的: 掌握文法和语言的相关概念,为以后的词法分析.语法 ...

  5. 编译原理实验语义分析_「编译原理」LL(1)文法分析,简单优先分析

    首先我们来介绍一下LL(1)文法分析. LL(1)文法是一种自顶向下的分析方式,是从非终结符到终结符的分析方式,这种方式和我们之前说的LR(0)分析方式是刚好相反的,在我们使用LR(0)分析方式的时候 ...

  6. 编译原理:LL(1)文法 语法分析器(预测分析表法)

    设计要求:对于任意输入的一个LL(1)文法,构造其预测分析表,并对指定输入串分析其是否为该文法的句子. 思路:首先实现集合FIRST(X)构造算法和集合FOLLOW(A)构造算法,再根据FIRST和F ...

  7. 编译原理 第六章 语义分析和符号表 作业

    一.单选题(共20题,70.0分) 1 下列哪项工作属于语义分析的范畴? A. 单词拼写错误检查 B. 括号不匹配 C. 加法运算两个操作数的类型不兼容 D. 寄存器分配 正确答案: C 我的答案:C ...

  8. 算符优先分析法代码 java_编译原理——算符优先分析文法(附源代码)

    1 源代码2 模块一:3 /****************#include"firstVT_lastVT.h"************************/ 4 5 //程序 ...

  9. 编译原理之LL(1)文法

    文章目录 一 . 什么是不确定的自顶向下的语法分析 a. 算法思想 b. 存在的问题 二. 什么是确定的自顶向下语法分析,对文法的要求是什么? b. 举例 文法特点: 三 . 什么是FIRST 集,F ...

最新文章

  1. MySQL配置文件my.cnf中文版(转载)
  2. java exec 空格_java exec 空格及特殊符号处理的解决方案
  3. 【易懂】Java源码角度分析put()与putIfAbsent()的区别——源码分析系列
  4. Vue + Spring Boot 项目实战(四):前后端结合测试(登录页面开发)
  5. oracle01537,ORACLE REUSE实验
  6. node中模块系统及核心模块、执行node文件
  7. 冰原服务器维护,12月2日服务器公告:冰原旅途进发
  8. ssis sql_如何在SSIS中使用SQL随机数
  9. matlab方波响应,对周期方波信号进行滤波matlab的实现
  10. 如何用QGIS 3.22将遥感影像切割成小矩形图片(机器学习数据)
  11. [2]_如何与老板顺畅沟通
  12. 2021-05-28 aps助油田服务与设备行业实现数字化
  13. Ubuntu20 设置frp开机自启动
  14. 【.Net码农】【淘宝API】淘宝API应用开发小试
  15. 大数据技术原理与应用(林子雨老师)慕课课后习题
  16. flink时间窗口无新的数据进来最后一个窗口不关闭
  17. CryEngine3教程合辑
  18. oracle00011,Oracle EXP-00011 导出数据时空表报错的解决
  19. 基于51单片机的简易花样流水灯3(原理图+程序+仿真)
  20. 辐射探测、监测和安全设备行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)

热门文章

  1. win10自带的截屏工具
  2. 咱当爹的人, 有啥不一样
  3. 向日葵深度linux,Deepin安装向日葵报错
  4. MCE | ROS 与疾病的关系
  5. Honeypot Networks
  6. USACO 2016 January Contest Gold T2: Radio Contact
  7. 神经网络如何对图片进行识别,神经网络生成图片
  8. python爬虫之xpath
  9. Docker在英雄联盟游戏中的实践探索(四)
  10. 图形世界分裂的两派——理清D3D和OpenGL的脉络(上)(转载)