Package mini_c
Class Lexer
- java.lang.Object
-
- mini_c.Lexer
-
- All Implemented Interfaces:
java_cup.runtime.Scanner
class Lexer extends java.lang.Object implements java_cup.runtime.Scanner
This class is a scanner generated by JFlex 1.4.3 on 2/19/17 7:55 PM from the specification file src/mini_c/Lexer.flex
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java_cup.runtime.Symbol
debug_next_token()
Same as next_token but also prints the token to standard out for debugging.(package private) static int
decodeHexa(java.lang.String s)
static void
main(java.lang.String[] argv)
Runs the scanner on input files.java_cup.runtime.Symbol
next_token()
Resumes scanning until the next regular expression is matched, the end of input is encountered or an I/O-Error occurs.void
yybegin(int newState)
Enters a new lexical statechar
yycharat(int pos)
Returns the character at position pos from the matched text.void
yyclose()
Closes the input stream.int
yylength()
Returns the length of the matched text region.void
yypushback(int number)
Pushes the specified amount of characters back into the input stream.void
yyreset(java.io.Reader reader)
Resets the scanner to read from a new input stream.int
yystate()
Returns the current lexical state.java.lang.String
yytext()
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
lexical states- See Also:
- Constant Field Values
-
COMMENT
public static final int COMMENT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Lexer
Lexer(java.io.Reader in)
Creates a new scanner There is also a java.io.InputStream version of this constructor.- Parameters:
in
- the java.io.Reader to read input from.
-
Lexer
Lexer(java.io.InputStream in)
Creates a new scanner. There is also java.io.Reader version of this constructor.- Parameters:
in
- the java.io.Inputstream to read input from.
-
-
Method Detail
-
decodeHexa
static int decodeHexa(java.lang.String s)
-
yyclose
public final void yyclose() throws java.io.IOException
Closes the input stream.- Throws:
java.io.IOException
-
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.- Parameters:
reader
- the new input stream
-
yystate
public final int yystate()
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.
-
yycharat
public final 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
-
yylength
public final int yylength()
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 than yylength()!
-
next_token
public java_cup.runtime.Symbol next_token() throws java.io.IOException, java.lang.Exception
Resumes scanning until the next regular expression is matched, the end of input is encountered or an I/O-Error occurs.- Specified by:
next_token
in interfacejava_cup.runtime.Scanner
- Returns:
- the next token
- Throws:
java.io.IOException
- if any I/O-Error occursjava.lang.Exception
-
debug_next_token
public java_cup.runtime.Symbol debug_next_token() throws java.io.IOException, java.lang.Exception
Same as next_token but also prints the token to standard out for debugging. This code was contributed by Karl Meissner- Throws:
java.io.IOException
java.lang.Exception
-
main
public static void main(java.lang.String[] argv)
Runs the scanner on input files. This main method is the debugging routine for the scanner. It prints debugging information about each returned token to System.out until the end of file is reached, or an error occured.- Parameters:
argv
- the command line, contains the filenames to run the scanner on.
-
-