• 1225-实验四-递归下降语法分析程序设计


    #include<stdio.h>  
    #include<string>  
    char str[10];  
    int index=0;  
    void E();           //E->TX;  
    void X();           //X->+TX | e  
    void T();           //T->FY  
    void Y();           //Y->*FY | e  
    void F();           //F->(E) | i  
    int main()  
    {  
        int len;  
            printf("请输入表达式:");  
            scanf("%s",str);  
            len=strlen(str);  
            str[len]='#';  
            str[len+1]='';  
            E();  
            printf("正确语句!
    ");  
            strcpy(str,"");  
            index=0;  
        return 0;  
    }  
    void E()  
    {  
        T();  
        X();  
    }  
    void X()  
    {  
        if(str[index]=='+')  
        {  
            index++;  
            T();  
            X();  
        }   
    }  
    void T()  
    {  
        F();  
        Y();  
    }  
    void Y()  
    {  
        if(str[index]=='*')  
        {  
            index++;  
            F();  
            Y();  
        }  
    }  
    void F()  
    {  
        if(str[index]=='i')  
        {  
            index++;  
        }  
        else if (str[index]=='(')  
        {      
            index++;  
            E();  
            if(str[index]==')')  
            {  
                index++;   
            }else{  
                printf("
    分析失败!
    ");  
                exit (0);  
            }  
        }   
        else{  
            printf("分析失败!
    ");   
            exit(0);  
        }  
     }  
  • 相关阅读:
    jq元素拖拽
    路径中取文件名
    HBase相关问题
    HBase数据模型
    HBase安装过程
    HBase物理模型
    Hadoop性能调优
    Hive性能调优
    Hadoop资源调度器
    Hive的执行生命周期
  • 原文地址:https://www.cnblogs.com/xhlbk/p/5092494.html
Copyright © 2020-2023  润新知