編譯原理(第三講 自上而下分析)

2021-10-04 03:20:17 字數 988 閱讀 2986

消除左遞迴;

構造相應的first、follow和select集合;

判斷、證明是(slr1、ll1、lalr1)文法

構造**分析表

輸入串給出分析過程

1. 消除左遞迴及提取左公因子

消除左遞迴及提取左公因子.

2. 求first、follow、select集

first、follow集first集:非終結符對應產生式的第乙個所有終結符的集合

follow集:非終結符對應產生式的後面緊跟著出現的終結符的集合

如何最快寫出first集和follow集.

select集select集:非終結符通過產生式可能產生第一終結符的集合

3. 求證ll1文法

方法1:select(b——>a)和select(b——>c)交集為空

方法2:畫文法分析**表時因為表中每個格仔只有一條產生式

4. 畫文法分析**表

例圖

非終結符通過產生式得到終結符

e 通過產生式得到id

5.輸入字元分析

字元進棧的過程 模擬 55=40+10+5

參考部落格:語法分析之ll(1)、lr(0)、slr(1)、lr(1)、lalr(1).

第三講 前置知識

啥是前置的知識?應該是一種粗略的大概的,對其進行解。就像平時玩戲,要知道這個遊戲有啥子背景,講的是啥事兒,如何去玩它。包括遊戲中各類的圖示代表什麼個意思,初期對其進行初步的了解。說的好像你很屌的樣子,再屌又咋滴,還不是屌絲乙個,光棍一條,哈哈!你說我,老大咱都要各自照照鏡先吧。我已經夠青出於蘭了,你...

Java基礎第三講

一.運算子 1.邏輯運算子 一般用於連線boolean型別的表示式或值 並且 有false則false 或者 有true則true 非 非false則true,非true則false 偶數個不會改變本身 異或 結果相同為false,結果不同則為true 短路與 與 的區別 結果一樣,具有短路效果,如...

第三講 Docker 安裝

我們將在centos linux上安裝docker。如果沒有centos系統,你可以使用虛擬機器virtual box來安裝centos,可參考下面的文章 docker的版本 通常安裝社群版本。系統要求 要安裝docker ce,需要使用centos 7的穩定版本 核心版本必須3.8或之後 注意 必...