• 语句分析实验


    实验一、语句分析实验

    专业 商业软件三班   姓名 许怀鹏 学号 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,比如无法识别,或者只能识别一部分。但我会在以后的日子里,参考同学的代码,进行学习的。

     

  • 相关阅读:
    kafka整理笔记笔记
    node(一)安装nodejs最新版到debian,ubuntu,mint系统
    ubuntu16.04安装visual-studio-code
    ubuntu16.04更新内核--使用4.6以上的内核会让用A卡的Dell电脑更快--及卸载多余内核
    linux查看主板型号及内存硬件信息,及硬盘测速
    git使用,在ubuntu中
    Ubuntu中文目录文件夹改为英文
    w3m 在ubuntu中的使用
    关于右键属性与du -sh显示的文件大小不一致的解决
    ubuntu16.04安装chrome
  • 原文地址:https://www.cnblogs.com/phoenlix/p/5958298.html
Copyright © 2020-2023  润新知