freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

安徽合肥工業(yè)大學(xué)編譯原理實(shí)驗(yàn)-展示頁

2025-07-08 16:42本頁面
  

【正文】 中 display(6,tempToken,39。 39。//字符串識別 if(reserve(tempToken)==1){//如果strtoken不在k表中 if(reseverid(tempToken)==1){//如果strtoken不在id表中 (tempToken)。)。//輸出數(shù)字串 } else {//如果strtoken在ci表中,僅輸出 display(5,tempToken,39。 39。//數(shù)字串識別 if(()!=0){//經(jīng)過數(shù)字串識別后,如果strtoken不為空 if(reseverci(tempToken)==1){//如果strtoken不在ci表中,將strtoken加入ci表中 (tempToken)。//讀入一個(gè)字符 while(pint()){//當(dāng)搜索指示器沒有越界時(shí) clearBlank()。//將搜索指示器置1 (要處理的語句為 : +instring)。 line=1。 } line++。 case 6:(s+\t(6,+s+)+\t標(biāo)識符+\t(+row+,+line+))。 case 5:(s+\t(5,+s+)+\t常數(shù)+\t+(+row+,+line+))。 case 4:(s+\t(4,+s+)+\t關(guān)系運(yùn)算符 +\t(+row+,+line+))。 case 3:(a+\t(3,+a+)+\t算術(shù)運(yùn)算符+\t(+row+,+line+))。 case 2:(a+\t(2,+a+)+\t分界符+\t(+row+,+line+))。 case 1:(s+\t(1,+s+)+\t關(guān)鍵字 +\t(+row+,+line+))。 case 0:(s+\tError+\tError+\t(+row+,+line+))。//將strtoken置空返回 } } void display(int i,String s,char a){//各種輸出處理 switch(i){ case 1:(a+\tError+\tError+\t+row+,+line+))。)。 } display(0,tempToken,39。 } if(isletter(ch)||isline(ch)){//識別完數(shù)字串而其后是字母,下劃線時(shí)出錯(cuò)處理 while(isletter(ch)||isline(ch)||isdigit(ch)){//當(dāng)是字母,數(shù)字,下劃線時(shí)繼續(xù)識別錯(cuò)誤數(shù)字串 tempToken=tempToken+ch。//先將strtoken置空 while(isdigit(ch)){//當(dāng)數(shù)字時(shí)繼續(xù)識別數(shù)字串 tempToken=tempToken+ch。 getchar()。 } void distinguishLeter(){//識別字符串 tempToken=。//instring數(shù)據(jù)讀取完,需重新讀入 } void retract(){//讀入前一個(gè)字符 pint。 } } else ch=39。){ change_row_line()。 if(ch == 39。 } } void getchar(){ pint++。 39。 else return false。否則不要再讀。39。=39。//string類charAt() 方法用于返回指定索引處的字符。 else return false。_39。 else return false。amp。amp。 else return false。amp。 ()。//存放輸入de源程序代碼 public static void main(String[] args)throws Exception{ // TODO Autogenerated method stub lexicalAnalysis one = new lexicalAnalysis()。//當(dāng)前指針指示,行數(shù),列數(shù) char ch。//6標(biāo)識符 String tempToken=。//4關(guān)系運(yùn)算符 ArrayListString ci=new ArrayListString()。}。,39。,39。,39。//2分界符 static char m[]={39。}39。{39。]39。[39。)39。(39。39。,39。public class lexicalAnalysis { static String k[]={for,main,if,while,void,public,static,printf,scanf,asm,do,return,typedef,auto,double,break,short,using,default,long}。import .*。宣城校區(qū)實(shí) 驗(yàn) 報(bào) 告課 程 名 稱 編譯原理 專 業(yè) 班 級 計(jì)算機(jī)0001班 學(xué)生姓名及學(xué)號 趙保飛 2015216768 指 導(dǎo) 教 師 李芒宏 實(shí) 驗(yàn) 地 點(diǎn) 計(jì)算機(jī)中心樓第四機(jī)房 2017 ~ 2018 學(xué)年第 一 學(xué)期《編譯原理》課程實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱詞法分析設(shè)計(jì)姓 名趙保飛系院專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級計(jì)算機(jī)01班學(xué)號2015216768實(shí)驗(yàn)日期指導(dǎo)教師李芒宏成績一、實(shí)驗(yàn)?zāi)康暮鸵笸ㄟ^本實(shí)驗(yàn)的編程實(shí)踐,使學(xué)生了解詞法分析的任務(wù),掌握詞法分析程序設(shè)計(jì)的原理和構(gòu)造方法,使學(xué)生對編譯的基本概念、原理和方法有完整的和清楚的理解,并能正確地、熟練地運(yùn)用。二、實(shí)驗(yàn)原理(1)實(shí)驗(yàn)數(shù)據(jù)結(jié)構(gòu)說明 K[]String數(shù)組關(guān)鍵字表;s[]char數(shù)組—分界符;m[]char數(shù)組—算術(shù)運(yùn)算符;r[]String數(shù)組—關(guān)系運(yùn)算符;ArrayList型String數(shù)組ci—常數(shù);ArrayList型String數(shù)組id—標(biāo)識符(2)實(shí)驗(yàn)算法描述(3)算法流程圖三、源程序代碼和測試結(jié)果package lexicalAnalysis。import .*。//關(guān)鍵字 static char s[]={39。,39。,39。,39。,39。,39。,39。,39。}。+39。39。*39。/39。//3算術(shù)運(yùn)算符 static String r[]={,=,=,=,}。//5常數(shù) ArrayListString id=new ArrayListString()。//臨時(shí)存放組成一個(gè)“詞”單位串 int pint ,row = 1,line = 1。//存放最新讀入源程序字符 String instring。 (單詞+\t二元序列+\t類 型+\t位置(行,列))。 } boolean isdigit(char c){//判斷所讀字符是否為數(shù)字,是則返回ture,否則返回false if(c=48 amp。 c=57 ) return true。 } boolean isletter(char c){//判斷所讀字符是否為字母,是則返回true,否則返回false if((c64amp。c91)||(c96amp。c123)) return true。 } boolean isline(char c){//判斷字符c是否是下劃線_ if(c==39。) return true。 } boolean remove(){//用于在判斷關(guān)系運(yùn)算符時(shí),判斷是否是要再讀一個(gè)字符 char b=(pint+1)。索引范圍為從 0 到 length()1 if(b==39。||b==39。)//當(dāng)其后的字符是=或時(shí),要再讀一個(gè)字符。 return true。 } void clearBlank(){//檢查空白直到讀入字符非空白 while(ch==39。){ getchar()。 if(pint = ()1){ ch=(pint)。\n39。 getchar()。 39。 ch=(pint)。//清空 while(isletter(ch) || isdigit(ch) || isline(ch)){//字母,數(shù)字,下劃線仍是字符串合法組成,繼續(xù)識別 tempToken=tempToken + ch。 } } void distinguishDigit(){//識別數(shù)字串 tempToken=。//將新識別的字符加到strtoken后 getchar()。//將新識別的字符加到strtoken后 getchar()。 39。//輸出錯(cuò)誤數(shù)字串 tempToken=。 break。 break。 break。 break。 break。 break。 break。 break。//列數(shù)加一 } void change_row_line(){//改變行數(shù)和列數(shù) row++。 } void handleString(){//輸入串處理 pint=1。 getchar()。//檢查空白直到讀入讀入非空 if(isdigit(ch)){//當(dāng)ch為數(shù)字時(shí)進(jìn)行數(shù)字串識別 distinguishDigit()。//將strtoken加入ci表中 display(5,tempToken,39。)。 39。//輸出數(shù)字串 } } } else if(isletter(ch)){//當(dāng)ch為字母時(shí)進(jìn)行字符串識別 distinguishLeter()。//將strtoken加入id表中 display(6,tempToken,39。)。 39。//輸出標(biāo)識串 } } else {//如果strtoken在關(guān)鍵字表 display(1,tempToken,39。)。//error getchar()。 for(i=0。i++){ if((k[i])
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1