Class SQLLexer

java.lang.Object
com.jsql.view.swing.sql.lexer.syntax.SQLLexer
All Implemented Interfaces:
Lexer

public class SQLLexer extends Object implements Lexer
SQLLexer is a SQL language lexer. Created with JFlex. An example of how it is used:
  SQLLexer shredder = new SQLLexer(System.in);
  SQLToken t;
  while ((t = shredder.getNextToken()) != null) {
      System.out.println(t);
  }
  
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
    This character denotes the end of file
    static final int
    lexical states
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new scanner
  • Method Summary

    Modifier and Type
    Method
    Description
    Resumes scanning until the next regular expression is matched, the end of input is encountered or an I/O-Error occurs.
    getNextToken(boolean returnComments, boolean returnWhiteSpace)
    next Token method that allows you to control if whitespace and comments are returned as tokens.
    void
    reset(Reader reader, int yyline, int yychar, int yycolumn)
    Closes the current input stream, and resets the scanner to read from a new input stream.
    final void
    yybegin(int newState)
    Enters a new lexical state
    final char
    yycharat(int pos)
    Returns the character at position pos from the matched text.
    final void
    Closes the input stream.
    final int
    Returns the length of the matched text region.
    void
    yypushback(int number)
    Pushes the specified amount of characters back into the input stream.
    final void
    yyreset(Reader reader)
    Resets the scanner to read from a new input stream.
    final int
    Returns the current lexical state.
    final String
    Returns the text matched by the current regular expression.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • SQLLexer

      public SQLLexer(Reader in)
      Creates a new scanner
      Parameters:
      in - the java.io.Reader to read input from.
  • Method Details

    • getNextToken

      public Token getNextToken(boolean returnComments, boolean returnWhiteSpace) throws IOException
      next Token method that allows you to control if whitespace and comments are returned as tokens.
      Throws:
      IOException
    • reset

      public void reset(Reader reader, int yyline, int yychar, int yycolumn)
      Closes the current input stream, and resets the scanner to read from a new input stream. All internal variables are reset, the old input stream cannot be reused (content of the internal buffer is discarded and lost). The lexical state is set to the initial state. Subsequent tokens read from the lexer will start with the line, char, and column values given here.
      Specified by:
      reset in interface Lexer
      Parameters:
      reader - The new input.
      yyline - The line number of the first token.
      yychar - The position (relative to the start of the stream) of the first token.
      yycolumn - The position (relative to the line) of the first token.
    • 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 to ZZ_INITIAL. Internal scan buffer is resized down to its initial length, if it has grown.
      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 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()!
    • getNextToken

      public Token getNextToken() 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:
      getNextToken in interface Lexer
      Returns:
      the next token
      Throws:
      IOException - if any I/O-Error occurs