1. 程式人生 > >【編譯原理】:哈工大編譯原理課程內容記錄

【編譯原理】:哈工大編譯原理課程內容記錄

//// 第二章

語言,文法,上下文無關法

//// 串上的運算

    xy = string x + string y

////  字串A的正閉包  不含0次方冪


    字串A的閉包(又稱克林閉包) 含0次方冪  0次方冪有個特殊的符號~

////  文法的型別 第一種上下文有關 (CSG context-sensitive grammer)

        第二種上下文無關   (CSG context-free grammer)

    更加規範的定義:四元組(Vn,Vt,P,S)

        Vn:終結符集     實際的詞    非大寫字母
        Vt:非終結符集   廣闊的含義   大寫字母
        P:規則        句子的文法
        S:開始符       句子

//// 什麼叫做完全推導樹  

    所有的終端結點都是和終結符相關聯

//// 分析樹  把符號分析成表示式的情況

    二義性:由此可以引匯出 左結合操作樹,右結合操作樹


推導:見書111頁,從E到-(id)的推導99

//// 第三章 詞法分析器

詞法分析器的任務:
    讀入源程式的輸入序列  組合成詞素(lexemes) 建立詞法單元(token)

RE :regular expression 正則表示式

//// 一個很有意思的東西

    C語言中識別符號的正則定義

        digit--->0|2|...|9
        letter_--->A|B|...|Z|a|b|...|z|_
        id --->letter_(letter_|digit)*

//// 單詞的識別 

    ////有窮自動機  (三型)FA  finite automata

            DFA NFA 從NFA到DFA的轉化

    ////從RE到自動機

//// Lex的使用