編譯原理(第四版)複習 (一)

2021-09-24 12:51:27 字數 1377 閱讀 3525

第一章:編譯概述

編譯程式:將高階語言所寫的源程式翻譯成等價的機器語言或組合語言的目標程式;

解釋程式:也是一種翻譯程式,將源程式翻譯並執行,邊解釋邊執行;

兩者的區別:解釋程式的執行過程不會生成目標程式;

編譯過程的5個階段:詞法分析,語法分析,語義分析及中間**生成,**優化,目標**生成;

第二章:文法和語言的基本知識

文法的自我理解:就是像乙個公式一樣的規則化;

這章的目標就是如何求:已知文法求語言?已知語言求文法?

∑(西格瑪) 代表字母表

(伊姆遜) 代表空字串

推導用的是=>   規則用的是->   推導的依據是規則

最右推導叫做規範推導,規範規約就是規範推導的逆過程;

句型和句子:如果起始符號推導出帶非終結符的是句型;全是終結符則為句子;

s—>01|0s1

像01,0s1,00s11····就是文法的句型; 01,000111···則是文法的句子;

要求是不是某個文法的句子?    只要能推導出這個句子就可以證明是~~~~

短語、直接短語、控制代碼:看例題中理解

控制代碼:最左邊的直接短語就是控制代碼;

素短語:就是在短語中最基本的,素短語不能在其他短語**現;

文法的二義性:乙個文法存在某個句子有兩種不同的語法樹;

消除二義性方法:1.加一些語法的非形式規定,比如*比+先等;2.構造乙個等價的無二義性的文法;

0型文法:左側至少含有乙個非終結符; a->ab (無限制文法)

1型文法:左右兩側有乙個相容的符號; ba->bc (上下文有關文法)

2型文法:左側有乙個非終結符;  a->aa (上下文無關文法)

3型文法;左側只有乙個非終結符,右側有0個或乙個非終結符;  a->a   a->aa(正規文法)

0>1>2>3

c primer大綱(第四版)

第1章 快速入門 第一部分 基本語言 第2章 變數和基本型別 第3章 標準庫型別 第4章 陣列和指標 第5章 表示式 第6章 語句 第7章 函式 第8章 標準io庫 第二部分 容器和演算法 第9章 順序容器 第10章 關聯容器 第11章 泛型演算法 第三部分 類和資料抽象 第12章 類 第13章 複...

c prime重學(四)基於第四版

迭代器 1 插入迭代器 這類迭代器與容器繫結在一起,實現在容器中插入元素的功能 2 iostream迭代器 這類迭代器可與輸入或輸出流繫結在一起,用於迭代遍歷所關聯的io流。3 反向迭代器 這類迭代器事項向後遍歷。而不是向前遍歷。所有容器型別都定義了自己的 reverse iterator型別,由r...

《演算法(第四版)》排序 模板

本書對排序類演算法有乙個模板,包括了以下幾種方法 1 sort 這個方法裡面實現的就是排序的演算法 2 less 這個方法裡是利用了comparable介面裡的compareto方法,其中compareto方法對於本物件與傳入的比較物件小於,等於,大於,分別返回負數,0,正數 這個方法如果compa...