Interface Parser

All Known Implementing Classes:
ParserImpl

public interface Parser
The Parser interface is intended to work with Jack-generated parsers (now JavaCC). We will specify "STATIC=false" when building Jack parsers - this specifies that the generated classes will not be static, which will allow there to be more than one parser (this is necessary in a multi-threaded server). Non-static parsers do not have to be re-initialized every time they are used (unlike static parsers, for which one must call ReInit() between calls to the parser).
  • Method Details

    • parseStatement

      Visitable parseStatement(String statementSQLText, Object[] paramDefaults) throws StandardException
      Parses the given statement and returns a query tree. The query tree at this point is a simple syntactic translation of the statement. No binding will have taken place, and no decisions will have been made regarding processing strategy.
      Parameters:
      statementSQLText - The Statement to parse.
      paramDefaults - Parameter defaults
      Returns:
      A new QueryTree representing the syntax of the Statement
      Throws:
      StandardException - Thrown on failure
    • parseStatement

      Visitable parseStatement(String statementSQLText) throws StandardException
      Throws:
      StandardException
    • parseSearchCondition

      Visitable parseSearchCondition(String sqlFragment) throws StandardException
      Parse an SQL fragment that represents a <search condition>.
      Parameters:
      sqlFragment - the SQL fragment to parse
      Returns:
      a parse tree representing the search condition
      Throws:
      StandardException - if the SQL fragment could not be parsed
    • getSQLtext

      String getSQLtext()
      Returns the current SQL text string that is being parsed.
      Returns:
      Current SQL text string.