zoukankan      html  css  js  c++  java
  • 编译原理

    编译:将高级语言(源语言)翻译成汇编语言或机器语言(目标语言)的过程。

    编译器:将用高级语言写成的程序转换成等价的机器语言程序。

    解释器:源程序的执行系统,工作结果是源程序的执行结果。

    可执行代码:不需处理即可在计算机上运行的绝对地址代码。

    语言:由文法开始符推出的所有句子构成的集合。

    句子:不包含非终极符的句型。

    上下文无关文法(CFG):产生式左部是一个非终结符,即A->B

    过程活动记录(AR链):程序运行时,每调用一个函数就为其分配一段连续空间,用于存放该函数运行时的各种信息(过程活动记录AR),函数运行结束返回时,其活动记录就要释放掉;在当前AR中保存下一个AR首地址,这样形成了一个链表。

    编译器的逻辑组成(编译器的工作内容):1、词法分析;2、语法分析;3、语义分析;4、中间代码生成;5、中间代码优化;6、目标代码生成。

    程序文本:由符合语法的基本符号组成的字符串,叫做源程序或源代码。

    Token:单词的内部表示,是程序语言中最小的语义单元,由Token Type 和 语义信息两部分组成。

    单词的分类:关键词,标识符,常数,运算符 ,界限符。

    DFA五元组:(西格玛,SS,S0,S*,大φ),图像法和表格法。

    正则表达式:是一种描述正则语言更紧凑的方法。

    二义性文法:若一个文法G存在某个句子,使得它有两棵语法树,则称二义性文法。

    语义分析的任务:收集标识符的属性信息和语义检查。

    产生式:描述了将终极符与非终极符组合成串的方法。

    句型:对于一个上下文无关文法G,由文法开始,经过0步或者多步推导得到的符号串。

    语法分析树:对于一个上下文无关文法G,语法分析树是满足如下条件的一棵树。(1)每个节点都有一个文法符号,根节点标有开始符,非叶节点标有非终结符。(2)若一个非叶节点A由n个儿子节点a1、a2、、、an,则一个有产生式A->a1,a2,,,,an。

    过程活动记录(AR链)的内容:动态链指针,返回地址,返回值,层数,活动记录空间大小,寄存器状态,形参变量,局部变量,临时变量。

    正则文法:它是2型文化的特例,即产生式右部最多有2个符号:A->a,A->aB,其中A,B属于终极符,a属于非终极符。

    语法树:表达描述句子的一种方法。

    短语:语法树子树的边缘。

    简单短语:语法树中深度为2的子树的边缘。

    句柄:最左简单短语。

  • 相关阅读:
    小知识点
    异常关机后idea的注入不能使用
    day42_mysql 数据库操作 数据库的约束
    day41_mysql安装与卸载 mysql配置 SQL语句 DDL:操作数据库,表 DML:增删改表中的记录 DQL:查询表中的记录 DCL:管理用户与授权
    day39_ECMAScript BOM DOM
    day38_JS
    day35_HTML inpot标签 form表单
    day33_Stream(JDK1.8后的接口,本身不是函数式接口)
    day32_ 优化文件上传及接收 函数式接口 自定义函数接口 函数式编程 常用函数式接口 Stream流
    day31_网络通信三要素 TCP Socket关键字 ServerSocket
  • 原文地址:https://www.cnblogs.com/xia520/p/10264926.html
Copyright © 2011-2022 走看看