PL0语言词法分析程序,第1张

PL0语言词法分析程序,第2张

//这是我编译原理的一个赋值。中间有很多缺点。希望大家指正。

/*编写PL/0语言的词法分析程序

要求:
1。读入用PL/0语言编写的源程序,正确进行词法分析,输出二进制序列。
2。如果源程序有词法错误,它可以给出错误的确切位置。
3。词法代码如下
(+,+);
(-,-);
(*,*);
(/,/);
((,();
(),));
(,,,);
(;,;);
(。,.);
(#,#);
(=,=);
(>,>);
(//不在行尾的时候,数字或者字母当然可能是无效字符
{
如果(is digit(row[I])//是数字,那么字符会被一个一个的存储在临时数组
{
str0中。
i++;
k++;
//putchar(' e ');
}
else //包含字母或无效字符的数字会给出错误
{
//putchar(' x ');
ferror = 1;打破;//设置标志和退出循环时出现错误

}
If(ferror = = 1)//检查是否有错误
{/*清除刚字/[/K0后的数字和字母
。j putchar(str 0[j]);
while(I ' | | row[I]= ' {
if(is alpha(row[I])| | is digit(row[I])//由数字和字母组成
{
str 0
i++;
k++;
}
else//错误,可能是由无法识别的字符
{

Ferror = 1引起的;打破;
}

}
if(ferror)
{
for(int j = 0;j putchar(str 0[j]);
while(I ' | | row[I]= = ' ')
{
i++;
if(row[I]= = ' = ')
{

strcpy(word," > = ";
}
else
{
strcpy(word," > ");
I-;
}
}
if(row[I]= = ' ')
{
if(str[1]= = ' = ')
{
write(str,' b ',out);
}
else
{
write(str,'>',out);
}

}

  if(str[0]=='

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » PL0语言词法分析程序

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情