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

正文內(nèi)容

c語言編譯器前端的設(shè)計與實現(xiàn)課程設(shè)計-資料下載頁

2025-01-18 12:55本頁面
  

【正文】 個Token(變量或函數(shù)名)聲明或使用時的行數(shù)。Class BucketListRec:主要成員變量:CString name。 // variable nameCString scope。 // function scopeenum TokenType type。int memloc。 // memory location for variableBOOL bArray。 // for array checkingLineListRec* lineno。BucketListRec* next。記錄每一個變量或函數(shù)名的具體情況。主要的類,建立符號表:Class CSymbolTable:主要成員變量:BucketListRec* hashTable[SIZE],把Class BucketListRec類的對象通過hash函數(shù)找到位置后插入。函數(shù)PrintSynbalTable(LPCTSTR lpszPathName),輸入文件名,通過一個遞歸函數(shù)輸出符號表到文件lpszPathName。Class CFunArgsCheck:插入函數(shù)參數(shù)的類型,以備在下一個步驟中做匹配檢測。類型檢測:Class CAnalyzer:包括兩個部分:類型匹配:函數(shù)或變量聲明時檢測是否已聲明,如已聲明則拋出錯誤;函數(shù)調(diào)用或變量使用時檢測是否已聲明,如未聲明則拋出錯誤。函數(shù)調(diào)用參數(shù)檢測:檢測函數(shù)調(diào)用時傳入?yún)?shù)的類型與函數(shù)聲明時參數(shù)的類型是否匹配。第4章 結(jié)束語本次開發(fā)設(shè)計是對C語言課程、數(shù)據(jù)結(jié)構(gòu)、編譯原理等一系列的課程的回顧學(xué)習(xí)。在開發(fā)基于C語言小型編譯器前端中,還是用系統(tǒng)分析、系統(tǒng)設(shè)計的思路。一個好的系統(tǒng)分析、設(shè)計工作,會使以后的系統(tǒng)實施順利高效的進(jìn)行,從而達(dá)到事半功倍的效果,這也是我的一點心得體會吧。對于系統(tǒng)的可擴(kuò)展性,在設(shè)計前也做了充分的考慮,在設(shè)計時預(yù)留了一些余地,以便本系統(tǒng)在C語言語法不變的情況下一直都能使用,而不需要再重新開發(fā)。同時在設(shè)計上使用的是模塊化的設(shè)計,更為系統(tǒng)以后的擴(kuò)展提供了良好的條件。同時系統(tǒng)也存在的問題與改進(jìn)方向,由于本人第一次開發(fā)編程語言編譯程序,經(jīng)驗不足,所以存在著許多不足之處。由于時間緊,開發(fā)任務(wù)重,系統(tǒng)有些功能尚未健全。參考文獻(xiàn)[1] [M].南京:東南大學(xué)出版社出版,2002。[2] [M].西安:西北工業(yè)大學(xué)出版社出版,2003。[3] 賀世娟, Basic 程序設(shè)計[M].北京:中國水利水電出版社出版。[4] [M].北京:機(jī)械工業(yè)出版社出版。[5] Basic教程[M].北京:人民郵電出版社。[6] Basic應(yīng)用與開發(fā)案例教程[M].北京:清華大學(xué)出版社。[7] Basic案例開發(fā)集錦[M].北京:電子工業(yè)出版社,2005。[8] 李冬梅,施?;? 編譯原理[M]. 人民郵電出版社,[9] 孫悅紅. 編譯原理及實現(xiàn)[M]. 清華大學(xué)出版社. [10]木林森,高峰霞. Visual C++ 使用與開發(fā)[M]. 清華大學(xué)出版社, 附錄一:詞法分析核心代碼int getch(){ if(cc == ll) { if(feof(fin)) { printf(program incoplete)。 return 1。 } ll = 0。 cc = 0。 printf(%d,cx)。 fprintf(fal,%d,cx)。 ch = 39。39。 while(ch != 10) { if(EOF == fscanf(fin,%c,amp。ch)) { line[ll] = 0。 break。 } printf(%c,ch)。 fprintf(fal,%c,ch)。 line[ll]=ch。 ll++。 } printf(\n)。 fprintf(fal,\n)。 } ch = line[cc]。 cc++。 return 0。}附錄二:語法分析核心代碼int getsym(){ int i,j,k。 while(ch==39。39。||ch==10||ch==9) getchdo。 if(ch=39。a39。amp。amp。ch=39。z39。) { k=0。 do { if(kal) { a[k]=ch。 k++。 } getchdo。 } while (ch=39。a39。amp。amp。ch=39。z39。||ch=39。039。amp。amp。ch=39。939。)。 a[k]=0。 strcpy(id,a)。 i=0。 j=norw1。 do{ k=(i+j)/2。 if(strcmp(id,work[k])=0) j=k1。 if(strcmp(id,work[k])=0) i=k+1。 }while(i=j)。 if(i1j) sym=wsym[k]。 else sym=ident。 } else { if(ch=39。039。amp。amp。ch=39。939。) { k=0。 num=0。 sym=number。 do{ num=10*num+ch39。039。 k++。 getchdo。 }while(ch=39。039。amp。amp。ch=39。939。)。 k。 if(knmax) { ERROR(30)。 } } else { if(ch==39。:39。) { getchdo。 if(ch==39。=39。) { sym=bees。 getchdo。 } else sym=nul。 } else { if(ch==39。39。) { getchdo。 if(ch==39。=39。) { sym=leq。 getchdo。 } else sym=lss。 } else { if(ch==39。39。) { getchdo。 if(ch==39。=39。) { sys=geq。 getchdo。 } else { sym=gtr。 } } else { sym=ssym[ch]。 if(sym!=period) getchdo。 } } } } } return 0。}軟硬件專業(yè)綜合課程設(shè)計考核表姓名性別學(xué)號班級課題名稱C語言編譯器前端的設(shè)計與實現(xiàn)類型軟件考核內(nèi)容所占比例得分設(shè)計方案15%總結(jié)報告15%程序、計算、作品等的完成質(zhì)量30%創(chuàng)新與發(fā)揮情況10%答辯情況20%出勤率10%指導(dǎo)教師評語指導(dǎo)教師: 年 月 日總評成績評定等級成績與等級對應(yīng)表優(yōu)良中及格不及格90-10080-8970-7960-6959分以下
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1