Class PythonLexer
java.lang.Object
com.pnfsoftware.jeb.util.encoding.jflex.DefaultJFlexLexer
com.pnfsoftware.jeb.util.encoding.jflex.lexers.PythonLexer
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intThis character denotes the end of file.static final intFields inherited from class com.pnfsoftware.jeb.util.encoding.jflex.DefaultJFlexLexer
offset, tokenLength, tokenStart -
Constructor Summary
ConstructorsConstructorDescriptionCreate an empty lexer, yyrset will be called later to reset and assign the readerPythonLexer(Reader in) Creates a new scanner -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanyyatEOF()Returns whether the scanner has reached the end of the reader it reads from.final voidyybegin(int newState) Enters a new lexical state.longyychar()Return the char number from beginning of input stream.final charyycharat(int position) Returns the character at the given position from the matched text.final voidyyclose()Closes the input reader.final intyylength()How many characters were matched.yylex()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.final voidResets the scanner to read from a new input stream.final intyystate()Returns the current lexical state.final Stringyytext()Returns the text matched by the current regular expression.
-
Field Details
-
YYEOF
public static final int YYEOFThis character denotes the end of file.- See Also:
-
YYINITIAL
public static final int YYINITIAL- See Also:
-
STRING
public static final int STRING- See Also:
-
ML_STRING
public static final int ML_STRING- See Also:
-
SQSTRING
public static final int SQSTRING- See Also:
-
SQML_STRING
public static final int SQML_STRING- See Also:
-
-
Constructor Details
-
PythonLexer
public PythonLexer()Create an empty lexer, yyrset will be called later to reset and assign the reader -
PythonLexer
Creates a new scanner- Parameters:
in- the java.io.Reader to read input from.
-
-
Method Details
-
yychar
public long yychar()Description copied from class:DefaultJFlexLexerReturn 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- Specified by:
yycharin classDefaultJFlexLexer
-
yyclose
Closes the input reader.- Throws:
IOException- if the reader could not be closed.
-
yyreset
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.
- Specified by:
yyresetin classDefaultJFlexLexer- 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
Returns the text matched by the current regular expression.- Specified by:
yytextin classDefaultJFlexLexer- 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.- Specified by:
yycharatin classDefaultJFlexLexer- 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.- Specified by:
yylengthin classDefaultJFlexLexer- 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
Resumes scanning until the next regular expression is matched, the end of input is encountered or an I/O-Error occurs.- Specified by:
yylexin classDefaultJFlexLexer- Returns:
- the next token.
- Throws:
IOException- if any I/O-Error occurs.
-