編譯原理課程設計 詞法分析器的設計

2022-10-09 19:33:03 字數 965 閱讀 4269

詞法分析器的設計

一. 設計說明及設計要求

一般來說,整個過程可以劃分為五個階段:詞法分析、語法分析、中間**生成、優化和目標**生成。本課程設計即為詞法分析階段。

詞法分析階段是編譯過程的第乙個階段。這個階段的任務是從左到右乙個字元乙個字元地讀入源程式,對構成源程式的字元流進行掃瞄和分解,從而識別出乙個個單詞(也稱單詞符號或符號)。如保留字(關鍵字或基本字)、標誌符、常數、算符和界符等等。

二. 設計中相關關鍵字說明

1. 基本字:也稱關鍵字,如c語言中的 if , else , while , do ,for,case,break, return 等。

2. 標誌符:用來表示各種名字,如常量名、變數名和過程名等。

3. 常數:各種型別的常數,如12,6.88,和「abc」等。

4. 運算子:如< , > ,<= , >= 等。

5. 界符,如逗點,冒號,分號,括號等。

三 、程式分析

詞法分析是編譯的第乙個階段,它的主要任務是從左到右逐個字元地對源程式進行

掃瞄,產生乙個個單詞序列,用以語法分析。詞法分析工作可以是獨立的一遍,把字元流的源程式變為單詞序列,輸出在乙個中間檔案上,這個檔案做為語法分析程式的輸入而繼續編譯過程。然而,更一般的情況,常將詞法分析程式設計成乙個子程式,每當語法分析程式需要乙個單詞時,則呼叫該子程式。

詞法分析程式每得到一次呼叫,便從源程式檔案中讀入一些字元,直到識別出乙個單詞,或說直到下乙個單詞的第乙個字元為止。

四 、模組設計

下面是程式的流程圖

五、 程式介紹

在程式當前目錄裡建立乙個文字文件,取名為所有需要分析的程式都寫在此文字文件裡,程式的結尾必須以「@」標誌符結束。程式結果輸出在同乙個目錄下,檔名為此檔案為自動生成。本程式所輸出的單詞符號採用以下二元式表示:

(單詞種別,單詞自身的值)如程式輸出結果 (57,"#")(33,"include")(52,"<")(33,"iostream") 等。

編譯原理詞法分析器實驗報告

北華航天工業學院 編譯原理 課程實驗報告 課程實驗題目 詞法分析器實驗 作者所在系部 電腦科學與工程系 作者所在專業 電腦科學與技術 作者所在班級 b08512 作者學號18 作者姓名 李桂丁 指導教師姓名 李建義 完成時間 2010年3月26日 一 實驗目的 了解詞法分析程式的兩種設計方法 1.根...

編譯原理課程設計報告 編譯器

編譯技術 課程設計實驗報告 實驗名稱 編譯器程式 姓名 學號 班級 年月日模仿上學期給定的程式,根據下面具體的內容,用c 語言對下述文法和單詞表定義的語言設計編制乙個編譯器。設計報告格式撰寫報告 1 單詞符號及種別表 2 語法結構定義 程式 main 語句塊 語句塊 程式用括號括起來 語句串 語句 ...

編譯原理課程設計報告

課程設計報告 課程名稱編譯程式設計原理 課題名稱帶括號的四則混合運算 專業班級 學號姓名 指導教師 2014年 6 月 27日 湖南工程學院 課程設計任務書 課程名稱編譯程式設計原理 課題帶括號的四則混合運算 專業班級 學生姓名 學號指導老師 審批任務書下達日期 2014 年 6月 23日 任務完成...