编程开发

展开

java词法分析器绿色版

大小:26KB语言:中文 类别:编程开发系统:WinAll, WinXP, Win7
简介|教程|评论(0)
软件性质:国产软件时间:2022-03-21 11:49:35

标签: 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);//这个函数实现对关键字进行判断

加载全部内容

热门推荐
推荐教程
猜你喜欢
相关合集
用户评论
本类排行