精品久久看,欧美成人久久一级c片免费,日本加勒比在线精品视频,国产一区二区三区免费大片天美,国产成人精品999在线,97理论三级九七午夜在线观看

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

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

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

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

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

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

  • 大小:26KB
  • 語言:中文
  • 平臺:WinXP
  • 更新:2014-11-27 11:25
  • 等級:
  • 類型:網絡相關
  • 網站:http://m.outdoo.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方式

主站蜘蛛池模板: 亚洲综合在线网 | 男人的天堂网页 | 狠狠色丁香婷婷第六色孕妇 | 青草视频在线观看国产 | 五月婷婷六月色 | 亚洲色图激情文学 | 黄色视屏免费看 | 欧美男女爱爱视频 | 免费羞羞网站视频 | 人人色在线视频播放 | 成人嫩草影院免费观看 | 四虎影院在线免费观看 | 国产欧美日韩视频在线观看 | 青草精品 | 男人阁久久 | 日本视频免费播放 | 久久精品国产亚洲婷婷 | 四虎成人欧美精品在永久在线 | 99久久国产综合精品成人影院 | 成人短视频在线免费观看 | 国产中文字幕视频在线观看 | 国产精品久久自在自2021 | 99re热在线视频 | a级毛片免费播放 | 精品久久国产老人久久综合 | 九九热视频在线免费观看 | 精品欧美一区二区在线看片 | 色综合久久中文字幕 | 五月天黄网 | 婷婷午夜激情 | 国产精品毛片一区 | 欧美国产一区二区二区 | 国产在线观看第一页 | 天天草综合网 | 五月丁香啪啪 | 国产一区二区三区四卡 | 无码av免费一区二区三区试看 | 蜜臀91精品国产高清在线观看 | 欧美日韩亚洲国产精品一区二区 | 久久夜色精品国产亚洲 | 国产精品一级视频 |