分类

编程工具

java词法分析器

java词法分析器 绿色版

大小:25 KB

语言:简体中文系统:WinXP, Win7, WinAll

类别:编程工具时间:2014-11-27

java词法分析器是一款基于C语言编译制作,专门用于JAVA语言分析,需要注意的是,这些代码中有一些功能还未完善,大家可以自己研究研究。
  java词法分析器 绿色版

词法分析器步骤

  先写其正则式,然后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);//这个函数实现对关键字进行判断

∨ 展开

网友评论

我要跟帖
取消
所有评论 共 0