词表解析工具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]=’ ’;

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

static char Getchar(){

char Char;

Char = fgetc(fp1);

return Char;

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

static void BackChar(char Char) {

if(Char!=EOF){

ungetc(Char,fp1);

}

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

static Token JudgeKeyToken(char *IDstring);//这个函数实现对关键字进行判断

相关资源:下拉通刷词软件v3.1.zip-其它代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月21日
下一篇 2021年1月21日

相关推荐