词法分析实验报告

实验一、词法分析实验

专业 商软三班  姓名 姚棋辉  学号201506110250

一、        实验目的

 

编译一个词法分析程序

实验内容和要求

    输入字符串,输出这些字符串的种别码。

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

方法:键盘输入字符串时,使用数组放起来,再从数组这里放进队列。

步骤:1:键盘输入字符串,存放在数组中,

      2:将存放在数组的字符串进队列

      3:进队列后,进行判断字符串,返回一个种别码,输出到屏幕上。

原理分析及流程图

 

原理:是通过比较的方法将单词转换为国际码实现种别码,得到词法分析的结果。

 

 

 

 

 

 

 

 

 

    

 

 

 

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

   void scaner()

{

    ch=aa[p++];

    while(ch==' ')

    {

        ch=aa[p];

        p++;

    }

    if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))

    {

        m=0;

        while((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))

        {

            bb[m++]=ch;

            ch=aa[p++];

        }

        bb[m++]='\0';

        p--;

        a=10;

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

 if(strcmp(bb,rwtab[n])==0)

            {

                a=n+1;

                break;

            }

    }

    else if((ch>='0'&&ch<='9'))  //数字

    {

        {

            sum=0;

            while((ch>='0'&&ch<='9'))

            {

                sum=sum*10+ch-'0';

                ch=aa[p++];

            }

        }

        p--;

        a=11;

        if(sum>32767)

            a=-1;

    }

 这个部分,是将键盘录入的字符串进队列的字符串转换为IASS码,

再有程序进行码的比较,若比较成功,则返回一个IASS码的值,进行输出字符串的种别码

 

 

 

 

 

  1. 2.      运行结果及分析

 

 

 

 

 

 

 

 

三、        实验总结

 

在这次的作业中,我觉得最难的是将字符串转换为IASS码的这一过程。在自己去想怎麽转换这一步,花了较多的时间去修改以及去调试,

 遇到的难题解决办法:

   通过在网上寻找解决办法,也问同学。

 

 

 

 

 

 

 

 

 

 

 

posted @ 2016-10-13 20:04  QH.Thomas  阅读(640)  评论(7编辑  收藏  举报