廣東海洋大學編譯原理(實驗1消除程序中的注釋)_第1頁
廣東海洋大學編譯原理(實驗1消除程序中的注釋)_第2頁
廣東海洋大學編譯原理(實驗1消除程序中的注釋)_第3頁
廣東海洋大學編譯原理(實驗1消除程序中的注釋)_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

廣東海洋大學編譯原理(實驗1消除程序中的注釋)廣東海洋大學編譯原理(實驗1消除程序中的注釋)廣東海洋大學編譯原理(實驗1消除程序中的注釋)資料僅供參考文件編號:2022年4月廣東海洋大學編譯原理(實驗1消除程序中的注釋)版本號:A修改號:1頁次:1.0審核:批準:發(fā)布日期:GDOU-B-11-112廣東海洋大學學生實驗報告書(學生用表)GDOU-B-11-112實驗名稱實驗1:消除程序中的注釋課程名稱編譯原理課程號學院(系)數(shù)計學院專業(yè)計算機科學與技術班級計科1141學生姓名學號實驗地點科425實驗日期一、實驗目的對使用高級程序設計語言編寫的源程序進行處理,為詞法分析做準備二、實驗內(nèi)容及步驟對C或C++等高級程序設計語言編寫的源程序中的else..語句加以判斷,并做出相應的處理。在這里還有可能出現(xiàn)另一種情況,上述兩種注釋符號可能出現(xiàn)在引號中,出現(xiàn)在引號中的注釋符號并沒有注釋功能,因此在引號中出現(xiàn)的注釋符號不應該被消除。所以,本實驗所要編寫的程序將要分三種情況分析。在這里,我們先對引號情況進行處理。程序在對源程序進行一個一個字符讀取,若是遇到第一個雙引號,則用變量temp保存起來,然后在對接下來讀取到的字符,與它將temp進行比較,不等,則輸出到目標文件,相等,則把第二個雙引號輸出到目標文件后,重新循環(huán)接下來的字符,看它屬性第幾種情況。第二種情況是對單行注釋進行處理。若在讀取源文件時,遇到了第一個斜杠,則保存在變量temp2,此時的斜杠不可能在雙引號中,因為它已經(jīng)經(jīng)過了第一種情況的判斷。接下來對斜杠下一個字符進行讀取,若為斜杠,則是單行注釋,若為*,則是多行注釋。單行注釋后的字符不輸出到目標文件,直到遇到換行符。多行注釋則尋找*/。若兩種情況都不是,則輸出之前保存的值,即temp2的值到目標文件,這種情況針對字符/,即單引號中的/。四、源代碼#include<iostream>#include<fstream>#include<iomanip>#include<cstdlib>usingnamespacestd;intmain(){ cout<<'/'; ifstreamifile;pp");bj"); if()||()){pp目標文件源.obj六、實驗小結此次實驗實現(xiàn)了對C或C++高級語言的注釋消除。在剛開始調(diào)試這個程序時,沒有考慮到一些特殊情況,如引號里面的\等情況,以致出現(xiàn)了與預期不一樣的結果。后來在程序中添加了對引號的處理,再進行一步一步的調(diào)試。此程序直接對源程序進行注釋消除處理,生成目標文件。這里用到了文件流對象,再次加深了對文件操作的印象。完

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論