毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 报告 >> 正文

语法分析-编译原理-语法分析 第2页

更新时间:2008-12-15:  来源:毕业论文

语法分析
kk=0;
    scaner();
    Irparser();
    getch();
/*    do{
        scaner();
        switch(syn)
        {
        case 11:printf("(11,%d) ",sum);break;
        case -1:printf("error! ");break;
        default:printf("(%d,%s) ",syn,token);
        getch();
        }
    }while(syn!=0);
    */
}

void scaner()
{
    for(n=0;n<8;n++)
        token[n]=NULL;
    sum=0;
    ch=prog[p++];
    while(ch==' ')
        ch=prog[p++];
    if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
    {
        m=0;
        while((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||(ch>='0'&&ch<='9'))
        {
           
            token[m++]=ch;
            ch=prog[p++];
        }
        token[m++]='\0';
        p--;
        syn=10;
        for(n=0;n<6;n++)
            if(strcmp(token,rwtab[n])==0)
            {
                syn=n+1;
                break;
            }
    }
    else
    {
 if(ch>='0'&&ch<='9')
        {
            while(ch>='0'&&ch<='9')
            {
                sum=sum*10+(ch-'0');
                ch=prog[p++];
            }
            p--;
            syn=11;
        }
        else
        {
            switch(ch)
            {
            case '<':
                m=0;
                token[m++]=ch;
                ch=prog[p++];
                if(ch=='>')
                {
                    syn=21;
                    token[m++]=ch;
                }
                else if(ch=='=')
                {
                    syn=22;
                    token[m++]=ch;
                }
                else
                {
                    syn=20;
                    p--;
                }
                break;
            case '>':
                m=0;
                token[m++]=ch;
                ch=prog[p++];
                if(ch=='=')
                {
                    syn=24;
                    token[m++]=ch;
                }
                else
                {
                    syn=23;
  p--;
                }
                break;
            case ':':
                m=0;
                token[m++]=ch;
                ch=prog[p++];
                if(ch=='=')
                {
                    syn=18;
                    token[m++]=ch;
                }
                else
                {
                    syn=17;
                    p--;
                }
                break;
            case'+':syn=13;token[0]=ch;break;
            case'-':syn=14;token[0]=ch;break;
            case'*':syn=15;token[0]=ch;break;
            case'/':syn=16;token[0]=ch;break;
            case'=':syn=25;token[0]=ch;break;
            case';':syn=26;token[0]=ch;break;
            case'(':syn=27;token[0]=ch;break;
            case')':syn=28;token[0]=ch;break;
            case'#':syn=0;token[0]=ch;break;
            default:syn=-1;
            }
        }
    }
}

Irparser()
{
    if(syn==1)
    {
        scaner();
        yucu();
        if(syn==6)
        {
            scaner();
            if(syn==0&&kk==0)
                printf("success\n");
        }
        else

上一页  [1] [2] [3] 下一页

语法分析-编译原理-语法分析 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。