# Lexer **Repository Path**: ZJWind/Lexer ## Basic Information - **Project Name**: Lexer - **Description**: Simple lexer generate by Jflex - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-10-19 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Lexer 简单词法分析器,由Jflex生成。 包含以下编程语言的词法分析器: * C * C++ * Java * JavaScript xxLexer.java是词法分析器类。假如使用C语言词法分析器,调用方法如下: ``` FileReader fileReader=new FileReader("jflexTest.c"); CLexer cLexer=new CLexer(fileReader); int idx=0; while (true) { try { CType cType=cLexer.yylex(); if(cType==CType.EOF) { break; } //这里输出三个数据 //1.状态的位置 //2.状态的名称 //3.状态的内容 //4.内容的长度 int len=cLexer.yytext().length(); String target=String.format("(%d,%s,\"%s\",%d)", idx,cType.name(),cLexer.yytext(),len); System.out.println(target); idx+=len; } catch(Exception e) { e.printStackTrace(); } } ``` xxLexer成员解释: * xxLexer(Reader reader) 从Reader构造一个词法分析器对象 * yylex() 得到下一个词法分析器状态 * yytext() 返回当前状态所匹配的文本