Class Scanner
- java.lang.Object
-
- org.nuxeo.ecm.core.query.sql.parser.Scanner
-
- All Implemented Interfaces:
java_cup.runtime.Scanner
public class Scanner extends Object implements java_cup.runtime.Scanner
Lexer for NXQL
-
-
Constructor Summary
Constructors Constructor Description Scanner(InputStream in)
Creates a new scanner.Scanner(Reader in)
Creates a new scanner There is also a java.io.InputStream version of this constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 positionpos
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(Reader reader)
Resets the scanner to read from a new input stream.int
yystate()
Returns the current lexical state.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
-
STRING
public static final int STRING
lexical states- See Also:
- Constant Field Values
-
ES_HINT
public static final int ES_HINT
- See Also:
- Constant Field Values
-
YYINITIAL
public static final int YYINITIAL
- See Also:
- Constant Field Values
-
SQ_STRING
public static final int SQ_STRING
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Scanner
public Scanner(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.
-
Scanner
public Scanner(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
-
yyclose
public final void yyclose() throws IOException
Closes the input stream.- Throws:
IOException
-
yyreset
public final void yyreset(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 toZZ_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 String yytext()
Returns the text matched by the current regular expression.
-
yycharat
public final char yycharat(int pos)
Returns the character at positionpos
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 IOException
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:
IOException
- if any I/O-Error occurs
-
-