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

資源簡介

北郵-編譯原理-詞法分析

資源截圖

代碼片段和文件信息

#include?“automaton.h“

string?keywords[]?=?{?“auto“?“break“?“case“?“char““const““continue“
“default““do““double““else““enum““extern“?“float““for““goto““if“
“inline““int““long““register““restrict““return““short““signed““sizeof“
“static““struct““switch““typeof““union““unsigned““void““volatile““while“
“_Alignof““_Atomic““_Bool““_Complex““_Generic““_Imaginary““_Noreturn“
“_Static_assert““_Thread_local““None“?};

string?types2[]?=?{?“Keyword“
“Identifier“
“NumericConstant“
“NumericConstantWithError“
“CharacterConstant“
“StringLiteral“
“Punctuator“
“PreprocessingDirective“
“EndOfFile“
“Unknown“
};

Automaton::Automaton(string?file)?:reader(file){
for?(string?str?:?keywords)?{
keywordSet.insert(str);
}
};

Token?Automaton::getoken(STATE?statestring?valueLocation?loc)?{
char?ch;
if?(state?==?START)?{
loc.updateLoc(reader.getRow()?reader.getCol());
if?(reader.isEmpty())?{
loc.updateLoc(reader.getRow()?reader.getCol()?-?1);
return?Token(EndOfFile?value?loc);
}
ch?=?reader.getChar();
while?(ch?==?(char)0xcc?||?ch?==?‘\n‘?||?isblank(ch))?{
if?(reader.isEmpty())?{
return?Token(EndOfFile?value?loc);
}
loc.updateLoc(reader.getRow()?reader.getCol());
ch?=?reader.getChar();
}
}
switch?(state)?{
case?START:?{
if?((ch?>=?‘A‘&&ch?<=?‘Z‘)?||?(ch?>=?‘a‘&&ch?<=?‘z‘)?||?ch?==?‘_‘)?{
return?getoken(KEYWORD?value?+?ch?loc);
}
else?if?(ch?>=?‘0‘?&&?ch?<=?‘9‘)?{
return?getoken(DIGIT?value?+?ch??loc);
}
else?if?(ch?==?‘.‘)?{
return?getoken(DOT?value?+?ch??loc);
}
else?if?(ch?==?‘-‘)?{
return?getoken(MINUS?value?+?ch??loc);
}
else?if?(ch?==?‘+‘)?{
return?getoken(PLUS?value?+?ch??loc);
}
else?if?(ch?==?‘&‘)?{
return?getoken(AND?value?+?ch??loc);
}
else?if?(ch?==?‘*‘)?{
return?getoken(STAR?value?+?ch??loc);
}
else?if?(ch?==?‘!‘)?{
return?getoken(EXCLAIM?value?+?ch??loc);
}
else?if?(ch?==?‘/‘)?{
return?getoken(SLASH?value?+?ch??loc);
}
else?if?(ch?==?‘%‘)?{
return?getoken(PERCENT?value?+?ch??loc);
}
else?if?(ch?==?‘<‘)?{
return?getoken(LESS?value?+?ch??loc);
}
else?if?(ch?==?‘>‘)?{
return?getoken(GREATER?value?+?ch??loc);
}
else?if?(ch?==?‘=‘)?{
return?getoken(EQUAL?value?+?ch??loc);
}
else?if?(ch?==?‘^‘)?{
return?getoken(CARET?value?+?ch??loc);
}
else?if?(ch?==?‘|‘)?{
return?getoken(PIPE?value?+?ch??loc);
}
else?if?(ch?==?‘;‘)?{
return?getoken(COLON?value?+?ch??loc);
}
else?if?(ch?==?‘#‘)?{
return?getoken(HASH?value?+?ch??loc);
}
else?if?(ch?==?‘“‘)?{
return?getoken(STRING?value?+?ch??loc);
}
else?if?(ch?==?‘\‘‘)?{
return?getoken(CHAR?value?+?ch??loc);
}
else?{
if?(ch?==?‘$‘)?{
return?Token(Unknown?value?+?ch?loc);
}
return?Token(Punctuator?value?+?ch??loc);
}
break;

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

?????文件?????336724??2020-10-25?22:26??2018210251-楊振宇-詞法分析\2018210251-楊振宇-詞法分析.docx

?????文件???????9517??2020-10-25?00:07??2018210251-楊振宇-詞法分析\automaton.cpp

?????文件????????923??2020-10-25?00:06??2018210251-楊振宇-詞法分析\automaton.h

?????文件????????384??2020-10-25?00:06??2018210251-楊振宇-詞法分析\main.cpp

?????文件???????2431??2020-10-25?17:21??2018210251-楊振宇-詞法分析\main.l

?????文件????????979??2020-10-23?00:02??2018210251-楊振宇-詞法分析\reader.cpp

?????文件????????441??2020-10-24?01:07??2018210251-楊振宇-詞法分析\reader.h

?????文件????????341??2020-10-25?00:10??2018210251-楊振宇-詞法分析\test.txt

?????文件????????835??2020-10-25?00:06??2018210251-楊振宇-詞法分析\token.cpp

?????文件????????656??2020-10-25?00:06??2018210251-楊振宇-詞法分析\token.h

?????目錄??????????0??2020-10-25?22:27??2018210251-楊振宇-詞法分析

-----------?---------??----------?-----??----

???????????????353231????????????????????11


評論

共有 條評論