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

  • 大小: 268KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-07-16
  • 語言: 其他
  • 標(biāo)簽: 編譯原理??

資源簡介

編譯原理課程設(shè)計(jì) 編譯原理 語法分析器編譯原理 語法分析器編譯原理 語法分析器編譯原理 語法分析器編譯原理 語法分析器編譯原理 語法分析器編譯原理 語法分析器

資源截圖

代碼片段和文件信息

#include“status_stack.h“
#include“symbol_instr_stack.h“
#include“l(fā)r.h“
//打印LR分析器的工作過程
void?print(status?*status_psymbol_instr?*symbol_psymbol_instr?*instr_p)
{
int?i;
out_stack(status_p);
for(i=0;i<20-status_p->top;i++)
printf(“?“);
out_stack1(symbol_p);
for(i=0;i<20;i++)
printf(“?“);
out_stack2(instr_p);
printf(“\n“);
}
//狀態(tài)轉(zhuǎn)換函數(shù)
int?goto_char(status?*status_psymbol_instr?*instr_p)
{
char?x;
int??yz;
x?=?get_top(instr_p);
y?=?get_top(status_p);
z?=?get_index_char(x);
return?table[y][z];
}
//移進(jìn)--規(guī)約函數(shù)
void?action(status?*status_psymbol_instr?*symbol_psymbol_instr?*instr_p)
{
int?ijx;
char?a;
i?=?goto_char(status_pinstr_p);
//規(guī)約出錯(cuò)
if(i?==?-1)
printf(“\n===============規(guī)約出錯(cuò)!================\n“);
//規(guī)約成功
if(i?==?12)
printf(“\n===============規(guī)約成功!================\n“);
//移進(jìn)動(dòng)作
if(i>=0?&&?i<=11)
{
push(status_pi);
a?=?pop(instr_p);
push(symbol_pa);
print(status_psymbol_pinstr_p);
action(status_psymbol_pinstr_p);
}
//規(guī)約動(dòng)作
if(i>=21?&&?i<=26)
{
x?=?r[i-21].y;
for(j=0;j {
pop(status_p);
pop(symbol_p);
}
push(instr_pr[i-21].x);
action(status_psymbol_pinstr_p);

}
}

int?main()
{
char?x;
//分配空間
status?*status_p;
symbol_instr?*symbol_p*instr_p?;
status_p?=?(status?*)malloc(sizeof(status));
symbol_p?=?(symbol_instr?*)malloc(sizeof(symbol_instr));
instr_p?=?(symbol_instr?*)malloc(sizeof(symbol_instr));
//初始化各棧
init_stack(status_p);
init_stack(symbol_p);
init_stack(instr_p);
//壓進(jìn)棧初始元素
push(status_p0);//
push(symbol_p‘#‘);//
//輸入表達(dá)式
printf(“\n請(qǐng)輸入要規(guī)約的輸入串,各字符之間不能有空格,以‘#‘字符結(jié)束!\n“);
printf(“===========expression?=“);
//先將輸入串壓進(jìn)符號(hào)棧
do{

scanf(“%c“&x);
push(symbol_px);
}while(x?!=?‘#‘);
//然后由符號(hào)棧彈出,壓進(jìn)輸入棧
while(?symbol_p->top?!=?0)
{
????x?=?pop(symbol_p);
push(instr_px);
}
printf(“\n\n“);
//打印框架
printf(“\n狀態(tài)棧==============符號(hào)棧==============輸入串\n“);
print(status_psymbol_pinstr_p);//打印初始分析表
//移進(jìn),規(guī)約,并打印每一步分析過程
action(status_psymbol_pinstr_p);

return?0;
}

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????2252??2007-06-20?08:05??編譯原理課程設(shè)計(jì)\26.cpp

?????文件???????3353??2010-06-17?15:44??編譯原理課程設(shè)計(jì)\26.dsp

?????文件??????48640??2010-06-17?15:44??編譯原理課程設(shè)計(jì)\26.opt

?????文件????????716??2010-06-17?15:44??編譯原理課程設(shè)計(jì)\26.plg

?????文件?????184422??2010-06-17?15:44??編譯原理課程設(shè)計(jì)\Debug\26.exe

?????文件?????192400??2010-06-17?15:44??編譯原理課程設(shè)計(jì)\Debug\26.ilk

?????文件??????18907??2010-06-17?15:44??編譯原理課程設(shè)計(jì)\Debug\26.obj

?????文件?????224972??2010-06-17?15:44??編譯原理課程設(shè)計(jì)\Debug\26.pch

?????文件?????459776??2010-06-17?15:44??編譯原理課程設(shè)計(jì)\Debug\26.pdb

?????文件??????41984??2010-06-17?15:44??編譯原理課程設(shè)計(jì)\Debug\vc60.idb

?????文件??????53248??2010-06-17?15:44??編譯原理課程設(shè)計(jì)\Debug\vc60.pdb

?????文件????????923??2007-06-10?19:39??編譯原理課程設(shè)計(jì)\lr.h

?????文件????????883??2007-06-10?19:39??編譯原理課程設(shè)計(jì)\status_stack.h

?????文件???????1118??2007-06-10?19:40??編譯原理課程設(shè)計(jì)\symbol_instr_stack.h

?????文件?????262144??2007-06-03?10:39??編譯原理課程設(shè)計(jì)\《編譯原理》實(shí)驗(yàn).doc

?????文件?????128375??2008-06-06?17:16??編譯原理課程設(shè)計(jì)\我的報(bào)告.doc

?????目錄??????????0??2010-06-17?15:44??編譯原理課程設(shè)計(jì)\Debug

?????目錄??????????0??2010-06-17?15:44??編譯原理課程設(shè)計(jì)

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

??????????????1624113????????????????????18


評(píng)論

共有 條評(píng)論

相關(guān)資源