zoukankan      html  css  js  c++  java
  • 语句分析实验

    实验一、语句分析实验

    专业 商业软件三班   姓名 许怀鹏 学号 201506110222

    一、 实验目的

    编制一个递归下降分析程序,实现对词法分析程序所提供的单词序列的语法检查和结构分析。

    二、 实验内容和要求

    利用C语言编制递归下降分析程序,并对简单语言进行语法分析。

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

     

    1. 源程序名:实验一中源程序名 实验一.c

    可执行程序名:实验一.exe

    1. 原理分析及流程图

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

    void bianbie(char a[])

    {

        char aa,b[10];

        int n=strlen(a),i,l,c;//使用strlen函数来计算a数组的长度

        for(i=0;i<n;i++)

        {

            aa=a[i];//将数组中的字符取出置于aa中方便比较

            c=a[i+1];

            if(aa>='0'&&aa<='9')//判断是否是数字

               {

                   b[0]=aa;

                   l=SZshuchu(b);

                if(c=='+'||c=='-'||c=='*'||c=='/'||c=='='||c=='')//若出现运算符或结束时则开始说明

                   {

                       printf(" 数字");

                       printf(" ");

                    }

               }

               else//出现符号开始说明

               {

                   if(aa=='+')

                    printf("加号");

                   if(aa=='-')

                    printf("减号");

                   if(aa=='*')

                    printf("乘号");

                   if(aa=='/')

                    printf("除号");

                    if(aa=='=')

                    printf("等号");

                    printf(" 运算符号 ");

               }

        }

    }

    运行结果及分析

     

    四、 实验总结

    首先我到现在还没有做完,只做了一部分,目前只能对简单算式进行分析,我试着做过对单词进行分析,但不知为何,老是出现bug,比如无法识别,或者只能识别一部分。但我会在以后的日子里,参考同学的代码,进行学习的。

     

  • 相关阅读:
    OneNote2007产品密钥及激活方法
    穿着马甲的编码方式链式
    String 转换NameValueCollection 的方法 , 这是原创 嘎嘎
    TransactionScope分布式事务无法使用时, 配置并启动 MSDTC 的解决方案
    Spirit越狱3.1.3/3.2固件(Windows)
    智能感知 不正常的解决方法
    HttpHandler HttpModule入门篇
    Microsoft.Practices.Unity依赖注入使用实例
    ViewEngine 深入解析与应用实例
    打开chm文件提示“已取消到该网页的导航”的解决方案
  • 原文地址:https://www.cnblogs.com/phoenlix/p/5958298.html
Copyright © 2011-2022 走看看