变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

東坡下載:內容最豐富最安全的下載站!

幫助|文件類型庫|最新更新|下載分類|排行榜

上傳下載服務器軟件遠程監控網絡相關主頁瀏覽主頁制作電子郵件網站優化網絡儲存常用瀏覽器迅雷百度云盤

首頁網絡軟件網絡相關 → 詞法分析器java版(java詞法分析器)

詞法分析器java版(java詞法分析器)

詞法分析器java版(java詞法分析器)

  • 大小:26KB
  • 語言:中文
  • 平臺:WinXP
  • 更新:2014-11-27 11:25
  • 等級:
  • 類型:網絡相關
  • 網站:http://m.astro-tech.com.cn
  • 授權:免費軟件
  • 廠商:
  • 產地:國產軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關軟件軟件教程網友評論下載地址

無論是詞法分析,還是語法分析,給我的第一感覺就是邏輯要嚴謹。由于項目有自己一套完整的語言和語法,設計好其對應的詞法分析器和語法分析器顯得尤為重要。

這里給您提供一個免費的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]='\0';
} //將一個字符添加到緩沖區
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);//這個函數實現對關鍵字進行判斷

下面是源代碼:

/************************************************************************
*                CopyRight@ice-snow studio                              *
*               email:bingxuefenggu@126.com                             *
*               qq: 405116890                                           *
************************************************************************/
//只考慮到整形常量
//實型沒考慮到
//需要解決轉義符如何描述的問題
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#define TOKEN_LEN 100

enum Token_Type {
     keyword =1,              //關鍵字
     Identifier,            //標識符
     operatorr,             //運算符
     operatorrd,             //單運算符
     constant,              //常量
     escape,                //轉義符
     separator,              //界限符
     notype,                  //沒有類型
     zhushi                   //注釋類型
};
typedef struct Token {
     Token_Type type; //其類型
     char *lexeme ;    //字符串
     int  value;       //屬性值
}Token;
static Token Token_Tap[] = {
       {keyword,"abstract",0x103},
       {keyword,"boolean",0x103},
       {keyword,"break", 0x103},
       {keyword,"byte" ,0x103},
       {keyword,"case",0x103},
       {keyword,"catch",0x103},
       {keyword,"char", 0x103},
       {keyword, "class",0x103},
       {keyword,"const" ,0x103},
       {keyword,"continue" ,0x103},
       {keyword,"default" , 0x103},
       {keyword,"do",0x103},
       {keyword,"double",0x103},
       {keyword,"else",0x103},
       {keyword,"extends",0x103},
       {keyword,"false",0x103},
       {keyword,"final",0x103},
       {keyword,"finally",0x103},
       {keyword,"float",0x103},
       {keyword,"for",0x103},
       {keyword,"goto",0x103},
       {keyword,"if",0x103},
       {keyword,"implements",0x103},
       {keyword,"import",0x103},
       {keyword,"instanceof",0x103},
       {keyword,"int",0x103},
       {keyword,"interface",0x103},
       {keyword,"long",0x103},
       {keyword,"native",0x103},
       {keyword,"new",0x103},
       {keyword,"null",0x103},
       {keyword,"package",0x103},
       {keyword,"private",0x103},
       {keyword,"protected",0x103},
       {keyword,"public",0x103},
       {keyword,"return",0x103},
       {keyword,"short",0x103},
       {keyword,"static",0x103},
       {keyword,"super",0x103},
       {keyword,"switch",0x103},
       {keyword,"synchronized",0x103},
       {keyword,"this",0x103},
       {keyword,"throw",0x103},
       {keyword,"throws",0x103},
       {keyword,"transient",0x103},
       {keyword,"true",0x103},
       {keyword,"try", 0x103},
       {keyword,"void",0x103},
       {keyword,"volatile",0x103},
       {keyword,"while",0x103},
       {constant,"true",0x105},
       {constant,"false",0x105}
     //以上是所有的關鍵字
};
FILE *fp1;// 要讀文件的描述符
int LineNo;//單詞所在的行數
static char TokenBuffer[TOKEN_LEN];//單詞符號的緩存區
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 GetChar(){
     char Char;
     Char = fgetc(fp1);
     return Char;
}
static void BackChar(char Char) {
     if(Char!=EOF){
         ungetc(Char,fp1);
     }
}
static Token JudgeKeyToken(char *IDstring){
     int loop;
     Token token;
     for(loop=0;loop<51;loop++){
         if(strcmp(Token_Tap[loop].lexeme,IDstring)==0)
         return Token_Tap[loop];
     }
     token.type = Identifier;
     //strcpy(token.lexeme,IDstring);//youwenti.
     token.lexeme = IDstring;
     token.value = 0x104;
     return token;
}


PC官方
安卓官方手機版
IOS官方手機版

詞法分析器java版(java詞法分析器)截圖

下載地址

詞法分析器java版(java詞法分析器)

熱門評論
最新評論
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)

編輯推薦

報錯

請簡要描述您遇到的錯誤,我們將盡快予以修正。

轉帖到論壇
輪壇轉帖HTML方式

輪壇轉帖UBB方式

主站蜘蛛池模板: avhd101永久地址高清迷片 | 一级一片免费播放 | 不卡视频一区二区 | 欧美xx片| 国产伦久视频免费观看视频 | 簧片免费视频 | free性video另类重口 | 一级α一级α片免费观看网站 | 日韩伦理视频在线观看 | 黄色a级片在线观看 | 久久久免费观成人影院 | 国产性大片黄在线观看在线放 | 国产第四页| 视频一区二区在线观看 | 狠狠色丁香婷婷综合尤物 | 日本三级在线观看免费 | 免费网站在线观看国产v片 免费网站看v片在线成人国产系列 | 中国三级毛片 | 久久亚洲国产伦理 | 性生活一区 | 亚洲人成小说色在线 | 一级色黄| 性欧美巨大极品videos | 亚洲黄色中文字幕 | 日日操夜夜骑 | 一二三区乱码一区二区三区码 | 国产在线91精品天天更新 | 播9公社在线精品中文字幕 波少野结衣色在线 | 波多野结衣一二三区 | 午夜骚| 香蕉视频破解 | 黄a在线 | 一级有奶水毛片免费看 | 中文字幕亚洲国产 | 午夜免费福利影院 | 欧美日本免费观看αv片 | 欧美日韩专区国产精品 | 最近最新高清免费中文字幕 | 国产成人综合日韩精品无 | 91久久精一区二区三区大全 | 最近免费中文字幕大全免费版视频 |