public final void parse(TokenStream ddlContent,Tables databaseTables) throws ParsingException, IllegalStateException {
  this.tokens=ddlContent;
  this.databaseTables=databaseTables;
  Marker marker=ddlContent.mark();
  try {
    while (ddlContent.hasNext()) {
      parseNextStatement(ddlContent.mark());
      tokens.canConsume(DdlTokenizer.STATEMENT_TERMINATOR);
    }
  }
 catch (  ParsingException e) {
    ddlContent.rewind(marker);
    throw e;
  }
catch (  Throwable t) {
    parsingFailed(ddlContent.nextPosition(),"Unexpected exception (" + t.getMessage() + ") parsing",t);
  }
}

public final void parse ( TokenStream ddlContent , Tables databaseTables ) throws ParsingException , IllegalStateException { this . tokens = ddlContent ; this . databaseTables = databaseTables ; Marker marker = ddlContent . mark ( ) ; try { while ( ddlContent . hasNext ( ) ) { parseNextStatement ( ddlContent . mark ( ) ) ; tokens . canConsume ( DdlTokenizer . STATEMENT_TERMINATOR ) ; } } catch ( ParsingException e ) { ddlContent . rewind ( marker ) ; throw e ; } catch ( Throwable t ) { parsingFailed ( ddlContent . nextPosition ( ) , "Unexpected exception (" + t . getMessage ( ) + ") parsing" , t ) ; } }
examine the stream starting at its current position for ddl statements , and apply those statements to the specified database table definitions .
