zoukankan      html  css  js  c++  java
  • 词法分析实验报告

    实验一、词法分析实验

    专业 商软三班  姓名 姚棋辉  学号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++]='';

            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码的这一过程。在自己去想怎麽转换这一步,花了较多的时间去修改以及去调试,

     遇到的难题解决办法:

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

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    GB2312 字符集
    Excel导入
    Excel导出
    解决文件下载在火狐浏览器出现中文文件名乱码的方法
    Struts2将图片输出到页面
    jsp页面中日期的格式化
    java正则表达式笔记
    利用git将项目上传到github
    Java中枚举的写法和用法
    自定义JQuery插件
  • 原文地址:https://www.cnblogs.com/qq1141100952com/p/5957930.html
Copyright © 2011-2022 走看看