Example #1
0
  public IParseRootNode parse(IParseState parseState) throws Exception {
    String source = new String(parseState.getSource());
    GrammarScanner scanner = new GrammarScanner(new StringReader(source));
    GrammarParser parser = new GrammarParser();
    IParseRootNode result = null;

    Object parseResult = parser.parse(scanner);

    if (parseResult instanceof GrammarTreeRoot) {
      GrammarTreeRoot grammarRoot = (GrammarTreeRoot) parseResult;

      result = new BeaverParseRootNode(grammarRoot);

      parseState.setParseResult(result);
    }

    return result;
  }