西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁(yè) 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

java詞法分析器

綠色版
  • java詞法分析器綠色版
  • 軟件大小:26KB
  • 更新時(shí)間:2014-11-27 17:12
  • 軟件語(yǔ)言:中文
  • 軟件廠商:
  • 軟件類別:國(guó)產(chǎn)軟件 / 免費(fèi)軟件 / 編程工具
  • 軟件等級(jí):4級(jí)
  • 應(yīng)用平臺(tái):WinAll, Win7
  • 官方網(wǎng)站:http://www.innovatechautomation.com
  • 應(yīng)用備案:
好評(píng):50%
壞評(píng):50%

軟件介紹

java詞法分析器是由C語(yǔ)言編譯而成,網(wǎng)搜了一下,發(fā)現(xiàn)描述java詞法分析的還是很少,所以把自己寫好的發(fā)這邊來(lái),讓大家參考下。大家可以在我的基礎(chǔ)上增加一些自己的代碼,使其更加完善。需要注意的是,這些代碼中有一些功能還未完善,大家可以自己研究研究。

詞法分析器步驟

先寫其正則式,然后NFA,然后DFA,然后對(duì)其進(jìn)行優(yōu)化,最后準(zhǔn)備工作做好了,就可以開(kāi)始寫代碼了。

主函數(shù)

enum Token_Type {
     keyword =1,              //關(guān)鍵字
     Identifier,            //標(biāo)識(shí)符
     operatorr,             //運(yùn)算符
     operatorrd,             //單運(yùn)算符
     constant,              //常量
     escape,                //轉(zhuǎn)義符
     separator,              //界限符
     notype,                  //沒(méi)有類型
     zhushi                   //注釋類型
};

對(duì)其單詞的類型定義成枚舉。

typedef struct Token {
     Token_Type type; //其類型
     char *lexeme ;    //字符串
     int  value;       //屬性值
}Token;

//返回單詞的結(jié)構(gòu)。

void InitScanner(char *ch){
     fp1 = fopen(ch,"r+");
     LineNo = 1;
}//初始化分析器。
void CloseScanner(){
     fclose(fp1);
}//關(guān)閉分析器
void EmptyTokenString(){
     memset(TokenBuffer,0,100);
}//清空緩沖區(qū)
static void AddCharTokenString(char Char)
{
    int TokenLenth=strlen(TokenBuffer);
    if(TokenLenth+1==sizeof(TokenBuffer)) return;
    TokenBuffer[TokenLenth]=Char;
    TokenBuffer[TokenLenth+1]='\0';
} //將一個(gè)字符添加到緩沖區(qū)
static char GetChar(){
     char Char;
     Char = fgetc(fp1);
     return Char;
}//從文件中讀取一個(gè)字符
static void BackChar(char Char) {
     if(Char!=EOF){
         ungetc(Char,fp1);
     }
}//將其字符后退一個(gè)。

static Token JudgeKeyToken(char *IDstring);//這個(gè)函數(shù)實(shí)現(xiàn)對(duì)關(guān)鍵字進(jìn)行判斷

軟件標(biāo)簽: 詞法分析器

其他版本下載

發(fā)表評(píng)論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載