1.對源程式進行理解,從pl0文件中抽取出詞法部分的**,單獨作為乙個程式,變成乙個詞法程式,用visual6.0或者dev c++進行編譯,編譯成為可執行檔案;
詞法分析部分的**如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
map word;
//應用map資料結構形成乙個string->string的對應
std::map
::iterator it;
//用來遍歷整個對應關係的迭代器
void
map_init()
struct nodeaa[
10000];
intmain()
it=word.
find
(word1);if
(it!=word.
end())
else
i--;}
elseif(
isdigit
(str[i]))
if(isalpha
(str[i]))
else
i--;}
else
if(str[i]
=='<'
)else
if(str[i]
=='='
)else
if(str[i]
!=' '||!
isdigit
(str[i])||
!isalpha
(str[i]))
else
i--;}
else
if(str[i]
=='>'
)else
if(str[i]
!=' '||!
isdigit
(str[i])||
!isalpha
(str[i]))
else
i--;}
else
if(str[i]
==':'
)else
if(str[i]
!=' '||!
isdigit
(str[i])||
!isalpha
(str[i]))
else
i--;}
else
else}}
//輸出流,輸出到對應的結果檔案中
if(outfile.
is_open()
) outfile.
close()
;}
infile.
close()
;return0;
}
編譯原理 詞法分析程式設計
一 實驗目的 設計 編制並除錯乙個簡單語言cp compiler principle 的詞法分析程式,加深對詞法分析原理的理解。二 實驗內容 說明 1 cp語言是大小寫敏感語言 2 字母為a za z,數字為0 9 3 學有餘力同學可以在上述詞法要求基礎上進行擴充和改造 4 每行 中從 開始的部分為...
編譯原理詞法分析
編譯原理實驗一 詞法分析練習 include include include define tokenmax 100 define progmax 1000 define k esc 27 void analytics 詞法分析 void scanner 輸入掃瞄 bool isletter cha...
詞法分析(編譯原理)
詞法分析 英語 lexical analysis 是電腦科學中將字串行轉換為單詞 token 序列的過程。進行詞法分析的程式或者函式叫作詞法分析器 lexical analyzer,簡稱lexer 也叫掃瞄器 scanner 詞法分析器一般以函式的形式存在,供語法分析器呼叫。完成詞法分析任務的程式稱...