91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.97MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2023-11-16
  • 語言: 其他
  • 標簽: lexical??syntax??

資源簡介

大學編譯原理實驗,語法和詞法分析器,包括部分錯誤處理。 program -> compoundstmt compoundstmt -> { stmts } { stmts -> stmt stmts stmt -> assgstmt assgstmt -> ID = arithexpr ; ID arithexpr -> multexpr arithexprprime multexpr -> simpleexpr multexprprime simpleexpr -> NUM NUM

資源截圖

代碼片段和文件信息

/**************************************************************************
*作????者:王林
*創建時間:2007-12-16
*描????述:完成
*注意事項:無
*遺?留BUG:無
*修改時間:2007-12-16到2007-12-30
**************************************************************************/

#include?“LexicalAnalyzer.h“;

///
///LexicalAnalyzer的構造函數
///

LexicalAnalyzer::LexicalAnalyzer(){
row=0;
lex_beginning=0;
forward=0;
state=0;
start=0;
linenumber=0;
lineposition=0;
}
///
///初始化變量
///

///
void?LexicalAnalyzer::InitPara(){
lex_beginning=0;
forward=0;
state=0;
start=0;
buffer.clear();
}
///
///Check?Delimiters
///

///如果是Delimiter,返回true,否則返回false
bool?LexicalAnalyzer::checkDelimiters(){
if(buffer[forward]==‘{‘||buffer[forward]==‘}‘||buffer[forward]==‘(‘||buffer[forward]==‘)‘||buffer[forward]==‘;‘)?return?true;
else?return?false;
}
///
///Check?Compare?Operator
///

///如果是Compare?Operator,返回true,否則返回false
bool?LexicalAnalyzer::check(){
if(?buffer[forward]==‘=‘||buffer[forward]==‘>‘||buffer[forward]==‘<‘||buffer[forward]==‘!‘)?return?true;
else?return?false;
}
///
///Check?Operator
///

///如果是Operator,返回true,否則返回false
bool?LexicalAnalyzer::checkOperators(){
if(buffer[forward]==‘+‘||buffer[forward]==‘-‘||buffer[forward]==‘*‘||buffer[forward]==‘/‘)?return?true;
else?return?false;
}
///
///打開輸入輸出文件
///

///輸入文件的路徑和文件名
///輸出文件的路徑和文件名
///如果是C打開成功,返回true,否則返回false
bool?LexicalAnalyzer::OpenFile(string?infilePathstring?outfilePath){
input.open(infilePath.c_str());
output.open(outfilePath.c_str());
if?(input&&output)?return?true;
else?return?false;
}
///
///關閉輸入輸出文件
///

///
void?LexicalAnalyzer::CloseFile(){
input.close();
output.close();
}
///
///類型匹配,獲得下一個token
///

///返回匹配成功的token,或是錯誤標識
string?LexicalAnalyzer::nexttoken(){
while(true){
switch(state){
case?0:??????????????????????????????????????????//匹配?“//“
c=buffer[forward];
forward++;
if(isspace(c)){
????state=0;
????lex_beginning++;
}
else?if(c==0){forward--;?return?“\n“;}
else?if(c==‘/‘)?state=1;
else?state=fail();
????break;
case?1:
c=buffer[forward];
forward++;
if(c==‘/‘)return?“//“;
else?state=fail();
break;?????????
case?2:???????????????????????????????????????//匹配if,int
c=buffer[forward];
if(c==‘i‘)state=3;
else?state=fail();
break;
case?3:
forward++;
c=buffer[forward];
if(c==‘f‘){
forward++;
if(isspace(buffer[forward])||buffer[forward]==0||checkDelimiters())?return?“if“;
if(check()||checkOperators())?state=37;????????????????????????//error:+-*/<>=!?f

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????98816??2007-12-26?16:00??上機實踐報告_詞法分析器.doc

?????文件?????152576??2007-12-26?21:15??上機實踐報告_語法分析器.doc

?????文件?????????23??2008-01-03?20:54??email.txt

?????文件??????77824??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\debug\LexicalAnalyzer.exe

?????文件?????474088??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\debug\LexicalAnalyzer.ilk

?????文件?????560128??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\debug\LexicalAnalyzer.pdb

?????文件??????10294??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\Debug\BuildLog.htm

?????文件????????405??2007-12-26?20:03??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\Debug\LexicalAnalyzer.exe.embed.manifest

?????文件????????472??2007-12-26?20:03??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\Debug\LexicalAnalyzer.exe.embed.manifest.res

?????文件????????387??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\Debug\LexicalAnalyzer.exe.intermediate.manifest

?????文件?????100995??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\Debug\LexicalAnalyzer.obj

?????文件??????46419??2007-12-26?20:03??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\Debug\main.obj

?????文件?????????69??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\Debug\mt.dep

?????文件?????248832??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\Debug\vc80.idb

?????文件?????208896??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\Debug\vc80.pdb

?????文件?????????82??2007-12-20?10:31??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\ffbbx

?????文件????????397??2007-12-20?00:01??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\include.h

?????文件??????13737??2007-12-26?22:06??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\LexicalAnalyzer.cpp

?????文件????????817??2007-12-20?00:00??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\LexicalAnalyzer.h

?????文件???????4419??2007-12-26?20:08??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\LexicalAnalyzer.vcproj

?????文件???????1411??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\LexicalAnalyzer.vcproj.ECNU-WL.dream.user

?????文件????????600??2007-12-20?00:01??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\main.cpp

?????文件??????32768??2007-11-27?15:49??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\programming_assignment01-lexical?analyzer.doc

?????文件????????158??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\tok.txt

?????文件??????????6??2007-12-26?21:59??詞法分析器\LexicalAnalyzer\LexicalAnalyzer\toy.txt

?????文件????1444864??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\LexicalAnalyzer.ncb

?????文件????????910??2007-12-11?09:44??詞法分析器\LexicalAnalyzer\LexicalAnalyzer.sln

????..A..H.?????36864??2007-12-26?22:07??詞法分析器\LexicalAnalyzer\LexicalAnalyzer.suo

?????文件?????286750??2007-12-26?20:02??詞法分析器\LexicalAnalyzer.rar

?????文件?????135168??2007-12-26?21:20??語法分析器\SyntaxAnalyzer\debug\SyntaxAnalyzer.exe

............此處省略76個文件信息

評論

共有 條評論