zoukankan      html  css  js  c++  java
  • 实验四递归下降语法分析程序设计

    #include<stdio.h>
    #include<string>
    char str[10];   //记录要分析的字符串
    int x=0;        //记录第一个字符
     
    void E();          
    void X();          
    void T();          
    void Y();
    void F();
     
    int main()
    {
        int len;
        printf("请输入算数表达式:");
        scanf("%s",str);
        len=strlen(str);
        str[len]='#';
        str[len+1]='';
        E();
        printf(" True! ");
        strcpy(str,"");
        x=0;
        return 0;
    }
     
    void E()
    {
        T();
        X();
    }
     
    void X()
    {
        if(str[x]=='+'||str[x]=='-')
        {
            x++;
            T();
            X();
        }
    }
     
    void T()
    {
        F();
        Y();
    }
     
    void Y()
    {
        if(str[x]=='*'||str[x]=='/')
        {
            x++;
            F();
            Y();
        }
    }
     
    void F()
    {
        if(str[x]>='a'&&str[x]<='z')
        {
            x++;
        }
        else if(str[x]>=0&&str[x]<=9)
        {
            x++;
        }
        else if (str[x]=='(')
        {    
            x++;
            E();
            if(str[x]==')')
            {
                x++;
            }
            else
            {
                printf(" Error! ");
                exit(0);
            }
        }
        else
        {
            printf(" Error! "); exit(0); } }

      结果如下:

     
     
  • 相关阅读:
    1月27日 常用函数
    1月25日 JavaScript的DOM操作
    1月25日 JavaScript简介与语法
    1月24日 样式表案例
    5月14日 数字顺序打印并求和
    5月14日 根据班级人数,求平局分,最大值,最小值
    5月14日 九九乘法口诀
    5月14日 打印100以内与7有关的数
    5月14日 函数练习 100以内奇数的和
    5月14日 枚举类型
  • 原文地址:https://www.cnblogs.com/linfa/p/5093912.html
Copyright © 2011-2022 走看看