第一篇:編譯原理課程設(shè)計(jì)_算術(shù)表達(dá)式的語(yǔ)法分析及語(yǔ)義分析程序設(shè)計(jì)(模版)
設(shè)計(jì)題一:算術(shù)表達(dá)式的語(yǔ)法分析及語(yǔ)義分析程序設(shè)計(jì)。1.目的
通過(guò)設(shè)計(jì)、編制、調(diào)試一個(gè)算術(shù)表達(dá)式的語(yǔ)法及語(yǔ)義分析程序,加深對(duì)語(yǔ)法及語(yǔ)義分析原理的理解,并實(shí)現(xiàn)詞法分析程序?qū)卧~序列的詞法檢查和分析。2.設(shè)計(jì)內(nèi)容及要求:
算術(shù)表達(dá)式的文法:
〈無(wú)符號(hào)整數(shù)〉∷= 〈數(shù)字〉{〈數(shù)字〉} 〈標(biāo)志符〉∷= 〈字母〉{〈字母〉|〈數(shù)字〉} 〈表達(dá)式〉∷= [+|-]〈項(xiàng)〉{〈加法運(yùn)算符〉〈項(xiàng)〉} 〈項(xiàng)〉∷= 〈因子〉{〈乘法運(yùn)算符〉〈因子〉} 〈因子〉∷= 〈標(biāo)志符〉|〈無(wú)符號(hào)整數(shù)〉|‘(’〈表達(dá)式〉‘)’ 〈加法運(yùn)算符〉∷= +|- 〈乘法運(yùn)算符〉∷= *|/
選擇算符優(yōu)先分析方法完成以上任務(wù),生成逆波蘭式的中間代碼;
(1)寫出算術(shù)表達(dá)式的符合分析方法要求的文法,給出分析方法的思想,完成分析程序設(shè)計(jì)。
(2)編制好分析程序后,設(shè)計(jì)若干用例,上機(jī)測(cè)試并通過(guò)所設(shè)計(jì)的分析程序。
源代碼
#define _CRT_SECURE_NO_WARNINGS #include “stdio.h” #include “stdlib.h” #include
int fflag[10] = { 0 };//標(biāo)志第i個(gè)非終結(jié)符的FIRSTVT集是否已求出 int lflag[10] = { 0 };//標(biāo)志第i個(gè)非終結(jié)符的LASTVT集是否已求出 int deal();//對(duì)輸入串的分析
int terminal_symbol(char c);//判斷字符c是否是終極符 int location(char c);//求字符c在算符優(yōu)先關(guān)系表中的下標(biāo) void out(int j, int k, char *s);//打印s棧
void firstvt(char c);//求非終結(jié)符c的FIRSTVT集 void lastvt(char c);//求非終結(jié)符c的LASTVT集 void table();//創(chuàng)建文法優(yōu)先關(guān)系表 char output[10];//存儲(chǔ)逆波蘭式 void main(){
int i, j, k = 0;printf(“請(qǐng)輸入文法規(guī)則數(shù):”);scanf(“%d”, &r);printf(“請(qǐng)輸入文法規(guī)則:n”);for(i = 0;i } for(i = 0;i } for(i = 0;i for(j = 0;st[i][j]!= '
主站蜘蛛池模板:
青青草国产午夜精品|
国产偷国产偷亚洲高清app|
成人特黄a级毛片免费视频|
亚洲一区二区女搞男|
中文字幕亚洲综合久久菠萝蜜|
久久久国产不卡一区二区|
伊人久久大香线蕉综合av|
最近的中文字幕在线看视频|
公和我做好爽添厨房中文字幕|
欧美高清freexxxx性|
JUL-632无码中文字幕|
国产精品国产三级国产普通话|
亚洲中文字幕在线第二页|
亚洲精品乱码久久久久久久久久久久|
欧美丰满老熟妇xxxxx性|
欧美日韩国产在线人成|
国产99久9在线视频传媒|
国产精品爆乳在线播放不卡|
西西人体44www大胆无码|
黑人巨大精品欧美视频一区|
亚洲国产精品色一区二区|
久久久久人妻精品一区三寸蜜桃|
香蕉在线精品视频在线|
麻豆国产精品va在线观看不卡|
久久久无码精品亚洲日韩蜜臀浪潮|
国产精品国产精品国产专区不卡|
97人妻免费公开在线视频|
无码免费伦费影视在线观看|
亚洲国产另类久久久精品黑人|
97夜夜澡人人爽人人|
一本大道无码日韩精品影视_|
亚洲男人综合久久综合天堂|
久久亚洲av成人无码电影|
中国浓毛少妇毛茸茸|
亚洲嫩模喷白浆在线观看|
99热久久精里都是精品6|
av无码一区二区三区|
精品日韩亚洲欧美高清a|
在线观看av网站永久|
亚洲国产精品成人午夜在线观看|
狠狠躁夜夜躁人人爽天天天天97|