code: protected AbcNode getParseTree(String abcString) {
  		long startTime = System.currentTimeMillis();
  		AbcGrammar grammar = AbcGrammar.getInstance();
  		// AbcGrammar parser = Parboiled.createParser(AbcGrammar.class);
  		ParsingResult<?> result = RecoveringParseRunner.run(grammar.AbcFile(),
  				abcString);
  		if (DEBUG) {
  			System.out.println("Parse : "+(System.currentTimeMillis() - startTime) + "ms");
  		}
  		if (result.hasErrors()) {
  			System.err.println("Parse errors: "
  					+ result.parseErrors.size());
  			/*Iterator it = result.parseErrors.iterator();
  			while (it.hasNext()) {
  				ParseError pe = (ParseError) it.next();
  				System.err.println("- " + pe.getErrorMessage()
  						+ "("+pe.getStartIndex()+"->"+pe.getEndIndex()+")");
  			}*/
  		}
  
  		AbcNode abcRoot = new AbcNode(result.parseTreeRoot, result.inputBuffer,
  				result.parseErrors, new AbcInputBuffer(abcString.toCharArray()));
  		if (result.hasErrors() || DEBUG)
  			debugTree(abcRoot);
  		return abcRoot;
  	}
docs: Parse the {@link Reader} and get the parsing tree by its root
  {@link AbcNode}.
  
  @param abcString