• 实验三 递归下降分析程序实验


    一、        实验目的

         编制一个递归下降分析程序。

    二、        实验内容和要求

         输入:正规式

    输出:判断该正规式是否正确。

    三、        实验方法、步骤及结果测试

       1.    源程序名:递归下降分析程序.c

    可执行程序名:递归下降分析程序.exe

      2.

     3.主要程序段及其解释:

    #include<stdio.h>    
    #include<string> 
    char str[50]; 
    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; 
        int m; 
        printf("请输入要测试的次数:"); 
        scanf("%d",&m); 
        while(m--) 
        { 
            printf("请输入字符串(长度<50>):
    "); 
            scanf("%s",str);
            len=strlen(str);
            //str[len]='#';
            str[len+1]=''; 
            E(); 
            printf("%s为合法符号串!
    ",str); 
            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); 
        } 
    }

    4.      运行结果及分析

    四、        实验总结

    通过这次的实验,对于递归又有了新的认识,对于工作原理也进一步的掌握了。本次实验对我帮助很大。

  • 相关阅读:
    sina sae搭建wordpress数据库配置
    Daper返回DataTable
    第4章 jQuery中的事件和动画
    第3章 ,jQuery中的DOM操作
    第2章 jQuery选择器
    第1章 认识jQuery
    MyBatis基本查询、条件查询、查询排序
    《Head First Servlets & JSP》-13-过滤器和包装器
    《Head First Servlets & JSP》-12-Web应用安全
    《Head First Servlets & JSP》-11-Web应用部署
  • 原文地址:https://www.cnblogs.com/wha000/p/6188810.html
Copyright © 2020-2023  润新知