编译原理期末复习考点总结(一) 通俗易懂的方式解释概念(纯手打)

编译原理总结

基础概念

  1. 编译程序是什么?
    能把源语言程序转换成目标语言程序的程序。

  2. 编译要经过哪些步骤?

    • 词法分析:

      • 扫描源程序,将其分解为词法单元后输出。
      • 方法:正规式,有限自动机。
    • 语法分析:

      • 根据语法规则,对词法单元进行推导或规约,识别出各类语法单元,最终判断输入串语法是否正确。
      • 方法:上下文无关文法。
    • 语义分析与中间代码生成:
      使用语法树和符号表对语法单元进行语义分析并把他们翻译成一定形式的中间代码。
      方法:等价变换。

    • 优化:
      对中间代码进行优化处理。

    • 目标代码生成:
      把中间代码翻译成目标程序。


  3. 对源程序或中间结果从头到尾扫描一次,并做加工处理,生成新的中间结果或目标程序的过程。

  4. 前端
    与源语言有关而与目标机器无关的部分。

  5. 后端
    与源语言无关而与目标机器有关的部分。

  6. 文法
    描述语言的语法结构的形式规则

  7. 语法树
    用来描述句型推导的一棵树

  8. 上下文无关文法
    所定义的语法单位与上下文(环境)无关。

    包括:
    - 终结符:
    直观的是语法树的叶子结点、句子中的单词或字。
    例如:He,give,a,b……
    - 非终结符:
    语法树的分支结点、句子中的语法成分。
    例如:<冠词>,A,B……
    - 开始符号:
    语法树的根结点、句子。
    例如:<句子>,S……
    - 产生式:
    由一种高级的语法成分推出低级的若干语法成分的式子。
    例如:<间接宾语> -> <冠词><名词>,S—>A|B……

  9. 语法定义语言
    从文法规则的开始符号出发,反复使用产生式,对非终结符进行替换或展开,最终得到的就是一种语言。

    通俗来说,一般的句子结构可以是“主语+谓语+宾语”,然后我们用产生式来替换,主语->代词—>He,谓语->动词->plays,宾语->名词->piano。这样我们就推出一句话。

    如果这样一直重复,就可以把这种语法规则可以表示的所有语句推导出来,即一种语言。

  10. 最左推导
    如果我们对于9中提到的产生式,每次推导都是先替换最左边的非终结符,那就是一种最左推导。

  11. 最右推导
    如果我们对于9中提到的产生式,每次推导都是先替换最右边的非终结符,那就是一种最左推导。

  12. 二义文法
    因为我们对于9中提到的产生式,可以通过最左推导和最右推导分别推导出一样的句子,所以这种文法就是二义文法。

    在程序设计语言中,只有确定化的代码才可以被机器按部就班执行,否则,每次机器运行结果就一定会不同。所以,程序设计语言的文法不可以是二义文法。

  13. 思考:为什么9中提到的文法会有二义性?
    因为9中的文法未规定替换的优先级和结合方式。

  14. 形式语言
    0型文法(短语文法)递归可枚举

    1型文法(上下文有关文法)

    2型文法(上下文无关文法)对应非确定的下推自动机

    3型文法(正规文法)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容