天天看點

Decision Computation and Language(一)

首先是關于語言:

我們無法确定一個有着有序符号的一串排列算不算是語言的一部分,于是Formal Language 提供了一個更加精确的規則來
    管理什麼樣的字元串是屬于語言的範疇,Formal Language包括了程式設計語言,資料庫查詢語言以及一些不同的檔案格式,
    而相比之下,英文法語什麼的不屬于formal language的範疇,縱然你仍然可以寫一些關于他們的一些規則。
           

怎麼樣去形容或者講授一個文法:

1.  一些不太正式的表達:

            一個算法表達式一般是由一些變量和數字和一些插入的操作符(+,-,*,/)組成的,然後一些子表達式也會被一
            些插入語依附....之類的東西

        2.  例如:a42是一個有效的變量名,而42a不是的,因為變量名不能以數字開頭

        3.  是以我們需要一些注釋來更準确的表達這些description
           

這一門課主要是:表示正規語言的符号(notations for representing formal languages),為我們提供了:

1.  更加準确的定義

    2. 創造編譯器去識别語言

    3. 提供方法去檢驗:
            ·
        · 一串符号是否屬于語言的範疇

        · 兩種可替換的語言描述是否是相同的語言
           

在程式設計語言中:

編譯階段:

        1.詞法分析:把字元串序列分成符号,類似于變量名,操作符,标記這種。

        2.轉換:鑒别符号之間的關系

        3.生成代碼

        4.代碼最優化
           
Decision Computation and Language(一)
Decision Computation and Language(一)