列表格式显示

热搜词:winrar    ftp   office   photoshop   输入法   ghost   win7  

09编程开发 - 分类

广告招商中......
联系方式!

编程工具 - 时间排序 更多...
    编程工具 - 点击排序 更多...
      编程工具 - 大小排序 更多...
        作者

         

        最近发布的软件 更多>>

        首页 >> 09编程开发>> 编程工具>>java词法分析器绿色版 发布者:admin >> 本人发布的更多软件

        广告招商中...... 联系方式!

        java词法分析器绿色版 

             
        软件厂家: 官方网站:
        大小: 语言:
        类型: 类别:
        更新时间: 运行环境:
        ;开始下载地址
        软件标签: java编程 java

        java词法分析器 是由c语言编译而成,是款比好用的编程软件,大家可以试用一下,在原有的基础上增加一些自己的代码,使其更加完善。需要注意的是,这些代码中有一些功能还未完善,大家可以自己研究研究。

        词法分析器步骤

        先写其正则式,然后nfa,然后dfa,然后对其进行优化,最后准备工作做好了,就可以开始写代码了。

        主函数

        enum token_type {

        keyword =1, ? ? ? ? ? ? ?//关键字

        identifier, ? ? ? ? ? ?//标识符

        operatorr, ? ? ? ? ? ? //运算符

        operatorrd, ? ? ? ? ? ? //单运算符

        constant, ? ? ? ? ? ? ?//常量

        escape, ? ? ? ? ? ? ? ?//转义符

        separator, ? ? ? ? ? ? ?//界限符

        notype, ? ? ? ? ? ? ? ? ?//没有类型

        zhushi ? ? ? ? ? ? ? ? ? //注释类型

        };

        对其单词的类型定义成枚举。

        typedef struct token {

        token_type type; //其类型

        char *lexeme ; ? ?//字符串

        int ?value; ? ? ? //属性值

        }token;

        //返回单词的结构。

        void initscanner(char *ch){

        fp1 = fopen(ch,"r+");

        lineno = 1;

        }//初始化分析器。

        void closescanner(){

        fclose(fp1);

        }//关闭分析器

        void emptytokenstring(){

        memset(tokenbuffer,0,100);

        }//清空缓冲区

        static void addchartokenstring(char char)

        {

        int tokenlenth=strlen(tokenbuffer);

        if(tokenlenth+1==sizeof(tokenbuffer)) return;

        tokenbuffer[tokenlenth]=char;

        tokenbuffer[tokenlenth+1]=“\0“;

        } //将一个字符添加到缓冲区

        static char g etc har(){

        char char;

        char = fgetc(fp1);

        return char;

        }//从文件中读取一个字符

        static void backchar(char char) {

        if(char!=eof){

        ungetc(char,fp1);

        }

        }//将其字符后退一个。

        static token judgekeytoken(char *idstring);//这个函数实现对关键字进行判断


        本页Html网址:/htmlsoft/58420.html

        本页aspx网址:/soft.aspx?id=58420&bianhao=20240101_020946_797504&kind1=09编程开发&kind2=编程工具

        上一篇:eclipse标准版(Eclipse Classic)

        下一篇:AMS运行库(ams library)

        增加   


        相关评论        新窗口打开查看评论