編譯原理 筆記

2021-08-20 14:51:10 字數 2019 閱讀 4596

第一講 編譯過過程概述

主要介紹了:

(1)什麼是編譯是編譯程式?

(2)編譯程式的作用;

(3)編譯過程;

(4)編譯程式的組成及各部分的作用。

第二講 上下文無關文法和語言

主要介紹了:

(1)語法、語義等概念,

(2)回顧了關於程式語言定義,初等資料型別,資料結構,高階高階語言的一般特性,程式結構,語句與控制結構等內容;

(3)重點介紹了程式語言的描述工具-文法,包括文法的定義,文法的種類等內容,

(4)重點介紹用於描述程式語言的上下文無關文法,上下文無關文法的推導,上下文無關文法與語言,語法分析樹的構造,文法的二義性等;

(5)符號串(語言)的各種運算及其性質;

(6)對於給定的乙個文法,對於其某句型的推導、句型的推導過程、句子、所形成的語言等,以及推導所形成的語法樹。

(7)最左推導,最右推導、規範推導等有關的概念及其產生過程;

(8)什麼是句型分析,什麼是短語、直接短語,控制代碼,如何求解?

第三講 詞法分析器

主要介紹了:

(1)詞法分析器的組成、作用及工作原理,

(2)介紹詞法分析器的構造原理,

(3)狀態轉換圖

(4)正規集、正規表示式及其求法

(5)介紹確定有限自動機、不確定有限自動機等工具;

(6)nfa到dfa的轉化、dfa的化簡、從正規式構造自動機等內容。

第四講 自上而下的語法分析

主要介紹了:

(1)語法分析器的功能,

(2)自上而下語法分析方法以及自上而下分析所面臨的問題:

(3)左遞迴及左遞迴的消除,回溯及回溯的避免;

(4) ll(1)文法的特點及其如何確定乙個文法是否是ll(1)文法;

(5)遞迴下降分析法和**分析程式,

(6)**分析器的工作過程,如何構造**分析表。

第五講 自下而上的語法分析方法

主要介紹了:

1、算符優先分析法。

(1)對算符優先分析方法,

(2)介紹算符文法、

(3)算符優先文法的定義

(4)講述算符優先分析的過程

(5)介紹算符優先分析法的核心——算符優先分析表的構造方法。

2、lr分析法

(1)專案、專案分類、專案集

(2)lr(0)專案構造方法

(3)lr(0)專案集的構造

(4)lr(0)識別活字首的自動機構造

(5)lr(0)分析表的構造

(6)lr(0)文法,及其語句的分析過程

(7)slr(1)分析表的構造

(8)slr(1)文法及其語句的分析過程

第六講 語義分析與中間**生成

1、 中間**的型別與各自的定義

2、 常用語句的翻譯與中間**的生成

典型的知識點:

1) 簡述文法的作用

2) 文法有哪幾部分組成?各部分的作用是什麼?

3) 對給定的文法以及某個句子,如何確定該句子能否有給定的文法構造?

4) 對於給定的語言集合,如何構造產生該語言的文法。

5) 由文法給出該文法所產生的語言;

6) 簡述詞法規則的描述方法

7) 掌握正規式、正規文法、自動機的構造方法及三種工具之間的轉換方法

8) 正規式(正規集)nfadfa最小化dfa

9) 如何消除文法中的直接和間接左遞迴,如何消除回溯?

10) 給定文法,構造該文法的遞迴下降分析器

11) 給定文法,如何判斷該文法是否是ll(1)文法?

12) 給定文法,構造文法的**分析表;

13) ll(1)文法的分析過程;

14) lr(0)、slr(1)分析表的構造與分析

15) 對給定的乙個算符優先文法,如何構造該文法的算符優先分析表?

16) 算符優先分析法的分析過程;

17) 屬性文法的構造

18) 語句翻譯與中間**

編譯原理筆記

機器無關的優化 基於target 的優化 生成 由於tvm中新增自定義硬體加速器的最後一步,需要llvm編譯器支援自定義pass,所以就大概看了下編譯原理,下面mark一下。編譯可大概歸納為 前端 中間 後端,下面引用教程上的一張圖 剝去源程式中的注釋和空白符。對程式開頭的巨集定義和檔案包含進行處理...

編譯原理筆記 一

編譯原理 1.1編譯器就是個程式,讀入某種語言編寫的程式,翻譯成另一種語言的程式。並能告知源程式的錯誤。1.11 編譯的分析綜合模型 編譯由兩部分組成,分析和綜合。分析部分將源程式切分成一些基本塊並形成源程式的中間表示,綜合部分把源程式的中間表示轉換成目標程式。分析期間 源程式的操作將被確定下來並表...

重點筆記 編譯原理

1 用組合語言或高階語言編寫的程式,必須先送入計算機,經過轉換成用機器語言表示的目標程式 這個過程叫做編譯 才能由計算機執行。執行轉換過程的程式叫做編譯程式。匯程式設計序是指沒有編譯過的組合語言原始檔。編譯程式轉換過的叫做目標程式,也就是機器語言。2 編譯程式是一種翻譯程式 3 通常乙個編譯程式中,...