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的子树的边缘。

    句柄:最左简单短语。

  • 相关阅读:
    你为什么老是找不到满意的工作? 多思考自己的原因 !
    微信企业号开发之-如何获取secret 序列号
    可以免费自学编程的12个网站
    软件职业:聊聊学习这件事!
    致行业初学者:关于某些培训机构,老徐聊几句,也许对你们有用
    查看centos版本号
    配置mysql远程访问权限,大家可能掉过的那些坑~
    测试必备技能系列6:软件安装部署是最基本的能力!
    一个测试老鸟对职业技术交流群的几点看法
    为什么你一直找不到工作:因为你什么都想学,什么都不会!
  • 原文地址:https://www.cnblogs.com/xia520/p/10264926.html
Copyright © 2011-2022 走看看