日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

编译原理 - 实验三 - 递归下降语法分析器的调试及扩展

發(fā)布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编译原理 - 实验三 - 递归下降语法分析器的调试及扩展 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

.?語法分析介紹

語法分析是編譯過程的核心部分,它的主要任務(wù)是按照程序語言的語法規(guī)則,從由詞法分析輸出的源程序符號串中識別出各類語法成分,同時進(jìn)行語法檢查,為語義分析和代碼生成做準(zhǔn)備。執(zhí)行語法分析任務(wù)的程序叫語法分析程序或語法分析器。

.?所實(shí)現(xiàn)的語義分析和代碼生成程序能處理什么語句

(1)簡單變量的聲明語句

(2)表達(dá)式語句

(3)if語句.

(4)while語句

(5)for語句

(6)write語句

(7)read語句

(8)do語句.

(9)處理過程調(diào)用和返回

.實(shí)驗(yàn)過程

①用VC6.0建立一個Win32 Console Application得空項(xiàng)目,然后輸入附錄C 語法分析程序的代碼(TESTparse)及主程序代碼(main)

②在建立一個文件將附錄B中的TESTscan()函數(shù)加到項(xiàng)目分析中

③編譯運(yùn)行

?

④對do的修改:

int do_stat()

??? {

???? int es=0;

???? fscanf(fp,"%s%s/n",&token,&token1);

???? printf("%s%s/n",token,token1);

???? if(strcmp(token,"(")) return(es=5);

???? fscanf(fp,"%s%s/n",&token,&token1);

???? printf("%s%s/n",token,token1);

???? es=expression();

???? if(es>0) return(es);

???? if(strcmp(token,")")) return(es=6);

???? fscanf(fp,"%s%s/n",&token,&token1);

???? printf("%s%s/n",token,token1);

???? es=statement();

???? if(es>0)return(es);

??????? if(strcmp(token,"while")==0)

??????? {

??????? fscanf(fp,"%s%s/n",&token,&token1);

??????? printf("%s%s/n",token,token1);

???????? es=statement();

??????? if(es>0)return(es);

???????? }

? ???return(es);

????

???? }

⑤log_expr修改

char singleword[50]="+-*(){};,:!";???

?

char doubleword[10]="><=&&||";???

?

int log_expr(){

?????? int es=0;

?????? es=bool_expr();

?????? if(es>0) return(es);

?????? if(strcmp(token,"&&")==0 || strcmp(token,"||")==0

?????? )

?????? {

????????????? fscanf(fp,"%s%s\n",&token,&token1);

????????????? printf("%s%s\n",token,token1);

????????????? es=bool_expr();

????????????? if(es>0) return(es);

?????? }

?????? return(es);

}

.遇到問題:

Link出錯

Linking...

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

Debug/test.exe : fatal error LNK1120: 1 unresolved externals

Error executing link.exe.

?

test.exe - 2 error(s), 0 warning(s)

?

這個文件中使用了WinMian而不是main作為入口函數(shù)。vc這時的默認(rèn)設(shè)置是針對控制臺程序的。

解決方法:

1.進(jìn)入project->setting->c/c++, 在category(第一行)中選擇preprocessor,在processor definitions中刪除_WINDOWS, 添加_CONSOLE

?

2.進(jìn)入project->setting->Link, 在Project options中將/subsystem:windows.改為/subsystem:console

3.保存設(shè)置,Rebuild All.

簡單來說就是在建立項(xiàng)目時創(chuàng)建成了Win32 Application的,所以建議直接建立Win32 Console Application項(xiàng)目

?

轉(zhuǎn)載于:https://www.cnblogs.com/zzhili/p/4490617.html

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的编译原理 - 实验三 - 递归下降语法分析器的调试及扩展的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 九九热这里只有精品6 | 日韩一区二区三区在线视频 | 欧美激情18p | 国产高潮久久久 | 一区二区三区黄色 | 美女户外露出 | 中文字幕人妻熟女人妻a片 麻豆91视频 | 日本中文字幕在线看 | 疯狂做爰高潮videossex | 黄色免费网站 | 奶水喷溅 在线播放 | 精品视频亚洲 | 理论片在线观看理伦片 | 91网站在线看| 久久爱网 | 欧美无极品 | 波多野结衣一区二区 | 亚洲高清在线观看 | 成人小视频在线 | 亚洲中文字幕一区二区在线观看 | 色噜 | 午夜国产一区二区三区 | 小明看国产 | 欧美国产精品一区二区三区 | 在线一区 | 久久亚洲视频 | 日韩激情在线播放 | 麻豆射区 | 人人爽视频 | 中文字幕第80页 | 伊人网大香| 91毛片在线观看 | 高清一区二区三区视频 | 免费在线一级片 | 亚洲理伦 | 亚洲国产区 | 亚洲狼人综合 | 天天操天天草 | 久久久久久久久久久影视 | 黄色一级视屏 | 国产日韩欧美一二三区 | 亚洲av成人无码网天堂 | 五月天看片| 内裤摩擦1v1h | 手机看片91 | 欧洲精品一区二区三区久久 | 天堂中文字幕免费一区 | 欧美性生活一级 | 99精彩视频| 久久综合激的五月天 | 开心激情播播网 | 久久久亚洲欧洲 | 奇米影视盒 | 欧美天天性 | 在线免费福利视频 | а中文在线天堂 | 狠狠爱综合网 | 日韩欧美亚洲一区二区三区 | 欧美在线视频一区二区 | 久久精品女人毛片国产 | 亚洲在线视频免费观看 | 国产精品免费大片 | 亚洲乱码精品久久久久.. | 91九色国产ts另类人妖 | 四虎永久免费影院 | 6699av| 成年人看的视频网站 | 伊人365影院 | 69精品人妻一区二区三区 | 国产二区三区 | 亚洲理论片在线观看 | 女生喷水视频 | 色欧美片视频在线观看 | 日本男女啪啪 | 国产毛片一区二区三区 | 99视频观看 | 欧美黄色性视频 | 操日本老妇 | 久久麻豆视频 | 九九热在线精品视频 | 波多野结衣视频在线看 | 国产精品二区视频 | 99精品人妻无码专区在线视频区 | 日韩欧美中文字幕一区二区三区 | 樱空桃在线 | 严厉高冷老师动漫播放 | 久久黄页 | 成人免费毛片免费 | 在线午夜av | av在线网页 | 贵族女沦为官妓h呻吟 | 2019日韩中文字幕mv | 三级免费观看 | av色综合 | 伊人成综合网 | 在线观看第一页 | 欧美日韩不卡一区二区 | 欧美一区二区在线视频观看 | 最近中文字幕在线观看视频 |