导航:首页 > 源码编译 > 编译原理01

编译原理01

发布时间:2024-10-29 18:44:47

‘壹’ 计算机编译原理习题,写出正规式等价的文法

1、ba*:S-〉bA,A-〉з,A-〉aA2、1(0|1)*0:S-〉1AA-〉B0,B-〉ε,B-〉0B,B-〉1B3、01*|1:运算顺序,*,.(连接,可省)|,S-〉0A,S-〉1,A-〉ε,A-〉1A,4、(a|b)*a,S-〉Aa,A-〉ε,A-〉aA,A-〉bA

‘贰’ 哪里可以下载《编译原理》电子书

你需要开发环境,可以用集成的,也可以独立的。
windows下的话,一般用集成开发环境(IDE)。
微软的visual studio应该说最好了。我用2005版的,资料相对多一些。2008版的是为vista做的。你可以用那个体验版/学生版的,功能少一些,但对初学者来说足矣,免费。专业版和团队版的功能多、收费,网上有序列号。
devcpp是个相对很小的集成开发环境。程序简单的话,用它也可以。
linux下可以用命令行下的gcc,gdb,也有anjuta,netbeans,eclipse等IDE。
当然,你最好再下载C++的电子书如:
Visual C++ 2005 入门经典
C++面向对象程序设计基础教程
C++参考大全第四版
C++高级编程

‘叁’ 编译原理词法分析实验中, 文件写入顺序的问题(fputs)

1)fopen在代码中出现2次,没有必要

2)你的程序不对 你搞混和S这个字符和TOKEN。

你的第一个WHILE读入的是字符S,而TOKEN是由若干字符S构成的。而你的SWITCH(S)里面按理应该是组成TOKEN的规则,而你直接就输出了。这样如果你要结果,我给你改了下,你看下:

int main()
{
char token[20] = {''};
char s;
char strings[10] = "(34,_)";
struct _iobuf* fp_cifa;
int i = 0, j;
strings[6] = ' '
strings[7] = ''
//fp_cifa = fopen(“D:\cifa.txt "a+");

while((size_t)i != strlen(file))
{
for(j = 0; j < 20; j++)
{
token[j] = ''
}
s = file[i++];
while(s == ' ' || s == ' ')
{
s = file[i++];
}
switch(s)
{
caseƇ':
token[0]=s;
token[1]=''
digitprint(token, value_num, num_list);
break;
case'=':
token[0]=s;
token[1]=''
digitprint(token, value_num, num_list);
//fputs(strings, fp_cifa);
break;
default:
cout<<"error"<<endl;
}
}
//fclose(fp_cifa);
return 0;
}

‘肆’ (编译原理) 求下述文法对应正规式: S->0A|1B A->1S|1 B->0S|0

一、简单的推导思路
1、该文法的对应正规式为:[01|10]+
2、推导:
(1)首先,展开产生式S,可知S要么以0开头,要么以1开头;
(2)如果S按产生式S->0A展开,则S必以01开头,因为通过产生式A->1S|1可知,A必定是以1开头的;
(3)如果S按产生式S->1B展开,则S必以10开头,因为产生式B必定以0开头;
(4)综上,可知,S是以01或10开头的非终结符号;
(5)当A以产生式A->1展开或 B以B->0展开时,S将推导结束;
(6)当A以产生式A->1S展开或 B以B->0S展开时,产生式中的非终结符号S将重复(1)-(3)的推导步骤;
(7)综上所述,该文法的对应正规式为:[01|10]+。

二、联立方程组求解
假设非终结符号S、A、B都分别代表一个正规式,则正规文法的产生式集合所代表的就是关于正规式S、A、B的一个方程组。
我们将文法“|”符号替换为正规式“+”符号,可得,
S=0A+1B=0(1S+1)+1(0S+0)=01(S+ε)+10(S+ε)=(01+10)(S+ε)=(01+10)S+(01+10)。
根据方程X=rX+t有形如X=r*t的解论断,可得,
S=(01+10)*(01+10)=[01|10]+。

‘伍’ 求教三道关于编译原理的计算题``比较简单希望步骤尽量详细

阅读全文

与编译原理01相关的资料

热点内容
程序员开发团队可以怎么创业 浏览:920
设备共享服务器是什么意思 浏览:122
java符号类型 浏览:329
redis客户端java 浏览:212
javatn 浏览:276
应用宝哪里下载王卡免流量app 浏览:235
uv7代喷头加密与不加密 浏览:467
滚动指标源码查询 浏览:986
梦幻西游lua源码修改教程 浏览:937
androidphp环境 浏览:762
php前台页面 浏览:493
程序员hr怎么挽留 浏览:817
学习编程视频剪辑的书 浏览:170
安卓什么时候更新软件格式 浏览:978
三星920sc加密码 浏览:721
南航app在哪里 浏览:743
我的世界服务器菜单怎么做出来 浏览:366
马后炮编程视频 浏览:649
程序员上海郊区 浏览:351
哪里app可回收手机壳 浏览:680