Package jsyntaxpane.lexers
Class DefaultJFlexLexer
- java.lang.Object
- 
- jsyntaxpane.lexers.DefaultJFlexLexer
 
- 
- All Implemented Interfaces:
- Lexer
 - Direct Known Subclasses:
- BashLexer,- CLexer,- ClojureLexer,- CppLexer,- DOSBatchLexer,- GroovyLexer,- JavaLexer,- JavaScriptLexer,- JFlexLexer,- LuaLexer,- PropertiesLexer,- PythonLexer,- RubyLexer,- ScalaLexer,- SqlLexer,- TALLexer,- XHTMLLexer,- XmlLexer,- XPathLexer
 
 public abstract class DefaultJFlexLexer extends java.lang.Object implements Lexer This is a default, and abstract implemenatation of a Lexer using JFLex with some utility methods that Lexers can implement.
- 
- 
Field SummaryFields Modifier and Type Field Description protected intoffsetprotected inttokenLengthprotected inttokenStart
 - 
Constructor SummaryConstructors Constructor Description DefaultJFlexLexer()
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidparse(javax.swing.text.Segment segment, int ofst, java.util.List<Token> tokens)The DefaultJFlexLexer simply calls the yylex method of a JFLex compatible Lexer and adds the tokens obtained to an ArrayList.protected Tokentoken(TokenType type)Create and return a Token of given type.protected Tokentoken(TokenType type, int pairValue)Create and return a Token of given type and pairValue.protected Tokentoken(TokenType type, int start, int length)Create and return a Token of given type from start with length offset is added to startprotected Tokentoken(TokenType type, int tStart, int tLength, int newStart, int newLength)Helper method to create and return a new Token from of TokenType tokenStart and tokenLength will be modified to the newStart and newLength paramsabstract intyychar()Return the char number from beginning of input stream.abstract charyycharat(int pos)Returns the character at position pos from the matched text.abstract intyylength()Returns the length of the matched text region.abstract Tokenyylex()This is called to return the next Token from the Input Readerabstract voidyyreset(java.io.Reader reader)This will be called to reset the the lexer.abstract java.lang.Stringyytext()Returns the text matched by the current regular expression.
 
- 
- 
- 
Method Detail- 
tokenprotected Token token(TokenType type, int tStart, int tLength, int newStart, int newLength) Helper method to create and return a new Token from of TokenType tokenStart and tokenLength will be modified to the newStart and newLength params- Parameters:
- type-
- tStart-
- tLength-
- newStart-
- newLength-
- Returns:
 
 - 
tokenprotected Token token(TokenType type, int start, int length) Create and return a Token of given type from start with length offset is added to start- Parameters:
- type-
- start-
- length-
- Returns:
 
 - 
tokenprotected Token token(TokenType type) Create and return a Token of given type. start is obtained fromyychar()and length fromyylength()offset is added to start- Parameters:
- type-
- Returns:
 
 - 
tokenprotected Token token(TokenType type, int pairValue) Create and return a Token of given type and pairValue. start is obtained fromyychar()and length fromyylength()offset is added to start- Parameters:
- type-
- pairValue-
- Returns:
 
 - 
parsepublic void parse(javax.swing.text.Segment segment, int ofst, java.util.List<Token> tokens)The DefaultJFlexLexer simply calls the yylex method of a JFLex compatible Lexer and adds the tokens obtained to an ArrayList.- Specified by:
- parsein interface- Lexer
- Parameters:
- segment- Text to parse.
- ofst- offset to add to start of each token (useful for nesting)
- tokens- List of Tokens to be added. This is done so that the caller creates the appropriate List implementation and size. The parse method just adds to the list
 
 - 
yyresetpublic abstract void yyreset(java.io.Reader reader) This will be called to reset the the lexer. This is created automatically by JFlex.- Parameters:
- reader-
 
 - 
yylexpublic abstract Token yylex() throws java.io.IOException This is called to return the next Token from the Input Reader- Returns:
- next token, or null if no more tokens.
- Throws:
- java.io.IOException
 
 - 
yycharatpublic abstract char yycharat(int pos) Returns the character at position pos from the matched text. It is equivalent to yytext().charAt(pos), but faster- Parameters:
- pos- the position of the character to fetch. A value from 0 to yylength()-1.
- Returns:
- the character at position pos
 
 - 
yylengthpublic abstract int yylength() Returns the length of the matched text region. This method is automatically implemented by JFlex lexers- Returns:
 
 - 
yytextpublic abstract java.lang.String yytext() Returns the text matched by the current regular expression. This method is automatically implemented by JFlex lexers- Returns:
 
 - 
yycharpublic abstract int yychar() Return the char number from beginning of input stream. This is NOT implemented by JFLex, so the code must be added to create this and return the private yychar field- Returns:
 
 
- 
 
-