Class JFlexLexer
- java.lang.Object
-
- com.thoughtworks.qdox.parser.impl.JFlexLexer
-
- All Implemented Interfaces:
CommentScanner,JavaLexer,Lexer
public class JFlexLexer extends java.lang.Object implements JavaLexer
-
-
Field Summary
Fields Modifier and Type Field Description static intANNOCHARstatic intANNOSTRINGstatic intANNOTATIONstatic intANNOTATIONNOARGstatic intANNOTATIONTYPEstatic intARGUMENTSstatic intASSIGNMENTstatic intATANNOTATIONstatic intCHARstatic intCODEBLOCKstatic intENUMstatic intJAVADOCstatic intJAVADOCLINEstatic intJAVADOCTAGstatic intMODULEstatic intMULTILINECOMMENTstatic intNAMEstatic intNAME_OR_MODIFIERstatic intPARENBLOCKstatic intRECORDstatic intSINGLELINECOMMENTstatic intSTRINGstatic intTYPEstatic intYYEOFThis character denotes the end of file.static intYYINITIAL
-
Constructor Summary
Constructors Constructor Description JFlexLexer(java.io.InputStream stream)JFlexLexer(java.io.InputStream stream, java.io.Writer writer)JFlexLexer(java.io.Reader in)Creates a new scannerJFlexLexer(java.io.Reader reader, java.io.Writer writer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCommentHandler(CommentHandler handler)Register this handler as a comment-listener.java.lang.StringgetCodeBody()intgetColumn()intgetLine()intlex()java.lang.Stringtext()booleanyyatEOF()Returns whether the scanner has reached the end of the reader it reads from.voidyybegin(int newState)Enters a new lexical state.charyycharat(int position)Returns the character at the given position from the matched text.voidyyclose()Closes the input reader.intyylength()How many characters were matched.intyylex()Resumes scanning until the next regular expression is matched, the end of input is encountered or an I/O-Error occurs.voidyypushback(int number)Pushes the specified amount of characters back into the input stream.voidyyreset(java.io.Reader reader)Resets the scanner to read from a new input stream.intyystate()Returns the current lexical state.java.lang.Stringyytext()Returns the text matched by the current regular expression.
-
-
-
Field Detail
-
YYEOF
public static final int YYEOF
This character denotes the end of file.- See Also:
- Constant Field Values
-
YYINITIAL
public static final int YYINITIAL
- See Also:
- Constant Field Values
-
JAVADOC
public static final int JAVADOC
- See Also:
- Constant Field Values
-
JAVADOCTAG
public static final int JAVADOCTAG
- See Also:
- Constant Field Values
-
JAVADOCLINE
public static final int JAVADOCLINE
- See Also:
- Constant Field Values
-
CODEBLOCK
public static final int CODEBLOCK
- See Also:
- Constant Field Values
-
PARENBLOCK
public static final int PARENBLOCK
- See Also:
- Constant Field Values
-
ASSIGNMENT
public static final int ASSIGNMENT
- See Also:
- Constant Field Values
-
STRING
public static final int STRING
- See Also:
- Constant Field Values
-
CHAR
public static final int CHAR
- See Also:
- Constant Field Values
-
SINGLELINECOMMENT
public static final int SINGLELINECOMMENT
- See Also:
- Constant Field Values
-
MULTILINECOMMENT
public static final int MULTILINECOMMENT
- See Also:
- Constant Field Values
-
ANNOTATION
public static final int ANNOTATION
- See Also:
- Constant Field Values
-
ANNOSTRING
public static final int ANNOSTRING
- See Also:
- Constant Field Values
-
ANNOCHAR
public static final int ANNOCHAR
- See Also:
- Constant Field Values
-
ARGUMENTS
public static final int ARGUMENTS
- See Also:
- Constant Field Values
-
NAME
public static final int NAME
- See Also:
- Constant Field Values
-
ANNOTATIONTYPE
public static final int ANNOTATIONTYPE
- See Also:
- Constant Field Values
-
ENUM
public static final int ENUM
- See Also:
- Constant Field Values
-
MODULE
public static final int MODULE
- See Also:
- Constant Field Values
-
RECORD
public static final int RECORD
- See Also:
- Constant Field Values
-
TYPE
public static final int TYPE
- See Also:
- Constant Field Values
-
ANNOTATIONNOARG
public static final int ANNOTATIONNOARG
- See Also:
- Constant Field Values
-
ATANNOTATION
public static final int ATANNOTATION
- See Also:
- Constant Field Values
-
NAME_OR_MODIFIER
public static final int NAME_OR_MODIFIER
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JFlexLexer
public JFlexLexer(java.io.Reader reader, java.io.Writer writer)
-
JFlexLexer
public JFlexLexer(java.io.InputStream stream)
-
JFlexLexer
public JFlexLexer(java.io.InputStream stream, java.io.Writer writer)
-
JFlexLexer
public JFlexLexer(java.io.Reader in)
Creates a new scanner- Parameters:
in- the java.io.Reader to read input from.
-
-
Method Detail
-
lex
public int lex() throws java.io.IOException
-
getCodeBody
public java.lang.String getCodeBody()
- Specified by:
getCodeBodyin interfaceLexer
-
addCommentHandler
public void addCommentHandler(CommentHandler handler)
Description copied from interface:CommentScannerRegister this handler as a comment-listener. If scanner hits a comment, all handlers will be triggered.- Specified by:
addCommentHandlerin interfaceCommentScanner- Parameters:
handler- the commentHandler to add to the CommentScanner
-
yyclose
public final void yyclose() throws java.io.IOExceptionCloses the input reader.- Throws:
java.io.IOException- if the reader could not be closed.
-
yyreset
public final void yyreset(java.io.Reader reader)
Resets the scanner to read from a new input stream.Does not close the old reader.
All internal variables are reset, the old input stream cannot be reused (internal buffer is discarded and lost). Lexical state is set to
ZZ_INITIAL.Internal scan buffer is resized down to its initial length, if it has grown.
- Parameters:
reader- The new input stream.
-
yyatEOF
public final boolean yyatEOF()
Returns whether the scanner has reached the end of the reader it reads from.- Returns:
- whether the scanner has reached EOF.
-
yystate
public final int yystate()
Returns the current lexical state.- Returns:
- the current lexical state.
-
yybegin
public final void yybegin(int newState)
Enters a new lexical state.- Parameters:
newState- the new lexical state
-
yytext
public final java.lang.String yytext()
Returns the text matched by the current regular expression.- Returns:
- the matched text.
-
yycharat
public final char yycharat(int position)
Returns the character at the given position from the matched text.It is equivalent to
yytext().charAt(pos), but faster.- Parameters:
position- the position of the character to fetch. A value from 0 toyylength()-1.- Returns:
- the character at
position.
-
yylength
public final int yylength()
How many characters were matched.- Returns:
- the length of the matched text region.
-
yypushback
public void yypushback(int number)
Pushes the specified amount of characters back into the input stream.They will be read again by then next call of the scanning method.
- Parameters:
number- the number of characters to be read again. This number must not be greater thanyylength().
-
yylex
public int yylex() throws java.io.IOExceptionResumes scanning until the next regular expression is matched, the end of input is encountered or an I/O-Error occurs.- Returns:
- the next token.
- Throws:
java.io.IOException- if any I/O-Error occurs.
-
-