請問編譯原理中什麼叫完成詞法分析,語法分析?

2025-06-20 13:20:06 字數 1504 閱讀 5778

1樓:網友

以你說的sql語句為例,詞法分析是將語句中的單詞流識別出來,比如create table student 詞法分析是分析出 這句的單詞流是 「create」 「table」 「identifier」(前提是你給它們編號 比如用巨集或者列舉),然後語法分析 是通過單詞流 判斷 非邏輯錯誤 比如 有不能識別的符號 create table後面不是標示符等等 語義分析是分析語句的邏輯關係 比如欄位長度越界什麼的如 vchar(2) 你賦值為「啊啊啊啊啊啊」這種錯誤的識別是語義分析階段完成的 希望能幫到你。

編譯原理中詞法分析器的輸入是單詞符號串,為什麼不是源程式?這兩者有什麼區別?

2樓:張詩燁

詞法分析器的輸入好像就是源程式吧。

編譯原理中,為什麼詞法分析器要作為乙個獨立子程式呢?哪位高手可以解釋下嗎?非常感謝

3樓:完美又清亮的幫手

程式設計的模組化。

編譯包括此法分析,語法分析等內容,全寫在一起就會很亂,乙個模組完成乙個任務是程式設計的良好方式。

編譯原理課程設計-詞法分析器設計(c語言)

4樓:文件類共創空間

定義:詞法分析器的功能輸入源程式,按照構詞規則分解成一系列單詞符號。單詞是語言中具有獨立意義的最小單位,包括關鍵字、識別符號、運算子、界符和常量等。

1) 關鍵字 是由程式語言定義的具有固定意義的識別符號。例如,pascal 中的begin,end,if,while都是保留字。這些字通常不用作一般識別符號。

2) 識別符號 用來表示各種名字,如變數名,陣列名,過程名等等。

3) 常數 常數的型別一般有整型、實型、布林型、文字型等。

4) 運算子 如+、-/等等。

5) 界符 如逗號、分號、括號、等等。

輸出:詞法分析器所輸出單詞符號常常表示成如下的二元式:

單詞種別,單詞符號的屬性值)

單詞種別通常用整數編碼。識別符號一般統歸為一種。常數則宜按型別(整、實、布林等)分種。

關鍵字可將其全體視為一種。運算子可採用一符一種的方法。界符一般用一符一種的方法。

對於每個單詞符號,除了給出了種別編碼之外,還應給出有關單詞符號的屬性資訊。單詞符號的屬性是指單詞符號的特性或特徵。

示例:比如如下的**段:

while(i>=j) i--

經詞法分析器處理後,它將被轉為如下的單詞符號序列:

詞法分析分析器作為乙個獨立子程式。

詞法分析是編譯過程中的乙個階段,在語法分析前進行。詞法分析作為一遍,可以簡化設計,改進編譯效率,增加編譯系統的可移植性。也可以和語法分析結合在一起作為一遍,由語法分析程式呼叫詞法分析程式來獲得當前單詞供語法分析使用。

請問編譯原理的詞法分析用c語言編寫的演算法是怎樣的?

5樓:網友

詞法分析,掃瞄整個原始檔,識別token,然後建立符號表,符號表用雜湊比較好。

什麼叫完成翻譯與背誦?

完成翻譯與背誦。意思就是先要把文章或者句子掘唯運翻譯出來,可能是英譯漢,也可能是漢譯英。然後把翻譯出來的譯文,或判梁者是原本有山鬧的原文背誦出來。例如 講一句中文翻譯成英文,再背誦這句英衝頌源文。反之,也可以是講一句英文翻譯成中文再背櫻廳誦散態。一般情況是前者居多。所謂的完猛御成翻譯與背誦,是兩個任...

編譯原理 學的是什麼,什麼是編譯原理

編譯原理是計算機專業的一門重要專業課,旨在介紹編譯程式構造的一般原理和基本方法。內容包括語言和文法 詞法分析 語法分析 語法制導翻譯 中間 生成 儲存管理 優化和目標 生成。編譯原理是計算機專業設定的一門重要的專業課程。雖然只有少數人從事編譯方面的工作,但是這門課在理論 技術 方法上都對學生提供了系...

編譯原理程式設計,什麼是編譯程式

編譯原理是計算機專業的一門重要專業課,旨在介紹編譯程式構造的一般原理和基本方法。內容包括語言和文法 詞法分析 語法分析 語法制導翻譯 中間 生成 儲存管理 優化和目標 生成。編譯原理是計算機專業設定的一門重要的專業課程。雖然只有少數人從事編譯方面的工作,但是這門課在理論 技術 方法上都對學生提供了系...