zoukankan      html  css  js  c++  java
  • 编译原理 部分名词解释

    翻译程序:是指这样的程序能够把某一种语言程序(源语言程序)转化成另一种语言程序(目标语言),而后者与前者在逻辑上是等价的
    编译程序:源语言是诸如Java、C、Ada、Pascal这样的“高级语言”,目标语言是诸如汇编语言的“低级语言”,这样的一个翻译程序就称为编译程序
    编译程序的工作一般可以划分为5个阶段:
     词法分析、语法分许、语义分析及中间代码的生成、优化、目标代码生成
     
    编译程序各个阶段之间的关系: 
     下一阶段将上一阶段的结果进行处理
     
    程序语言主要由语法、语义两方面定义
    高级程序语言是用来描述算法和计算机实现的双重目的
    语法分析树(语法树)是对句子的描述
    文法描述语言的语法规则
    上下文无关文法G包括四个组成部分: 
     终极符号,非终结符号(大写符号),开始符号,产生式
     
    箭头“→”读作“定义为”,直竖“|”读作“或”,它们都是源语言符号
    句型:由终结符号和非终结符号组成的文法
    句子:仅含终极符号的句型
    语言:由文法产生的所有句子组成
    最左推导是指:对于任何a ==> b,都对a的最左非终结符号进行迭代
    如果一个文法存在一个句子对应两棵不同的语法树,则称这个文法是二义的
    二义文法:
     1、最左端是一个非终结符号
     2、左边的个数≤右边的个数
     
    确定有限自动机(DFA),非确定有限自动机(NFA)
    一个LEX源程序主要包括两部分
     1、正规定义式
     2、识别规则
     
    闭包:由集合中的元素组成的无数多个串(其实跟循环差不多)
    消除左递归的方法:
     eg:P ==> Pα|β
     ---------
     P ==> βP'
     P' ==> αP’|e
     
    短语:语法树中任意子树节点所组成符号串
    直接短语:只有两代的端末
    句柄:由最左推导的出来的直接短语
    规范规约:针对α的最左规约,即就是最右推导的逆过程
    规范规约,即就是由上一步推导出下一步的过程、式子;而句柄,指的是该式子、公式推导符号的推导结果
    “移进-规约”过程由4个列组成
     步骤、符号串、输入串、动作
     
    算符优先文法的判定:
     只要优先关系表中没有多重入口
     
    算符优先的分析过程  等价于  移进-归约
    附注语法树,带注释的语法树
     
  • 相关阅读:
    socket使用大全
    UIImageView控件使用(转)
    多线程,socket,http,asihttpRequest,等总结集合
    ios 如何判断字符串含有中文字符?
    修改UISearchBar
    abc222_e Red and Blue Tree(树上差分+01背包)
    2020icpc上海部分题解
    abc215_e Chain Contestant(状压dp)
    bzoj3238 差异(后缀数组+单调栈)
    NCD2019部分题解
  • 原文地址:https://www.cnblogs.com/GetcharZp/p/9188767.html
Copyright © 2011-2022 走看看