导航:首页 > 源码编译 > 编译原理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相关的资料

热点内容
在哪里能制作手机app 浏览:163
python搭建web网站 浏览:679
空乘程序员 浏览:345
玩加密币犯法吗 浏览:241
html加载pdf 浏览:1000
git源码如何本地编译命令 浏览:868
单片机研究报告 浏览:265
天正建筑命令栏 浏览:598
加密货币应税事件 浏览:459
宋pro的app哪里下载 浏览:207
单片机原理与接口技术第三版课后答案 浏览:890
程序员小明教学 浏览:613
linuxbin解压缩 浏览:382
四川电信服务器租用云空间 浏览:31
我的世界服务器内存大怎么办 浏览:388
互联网与服务器链接不成功怎么办 浏览:645
python拆分数组 浏览:83
虚机服务器怎么增加D盘的空间 浏览:502
程序员搬运 浏览:65
手机app的视频存在哪里了 浏览:280