public List bshParse(String sourceFileInfo, Reader in) throws ParseException { List parsedLineNodes = new LinkedList(); Parser parser = new Parser(in); boolean eof = false; while(!eof) { try { eof = parser.Line(); if (parser.jjtree.nodeArity() > 0) { SimpleNode node = (SimpleNode) parser.jjtree.rootNode(); // nodes remember from where they were sourced node.setSourceFile(sourceFileInfo); parsedLineNodes.add(node); if (Debug.verboseOn()) Debug.logVerbose("// " + node.getText()); } } catch (ParseException e) { // add the source file info and throw again e.setErrorSourceFile(sourceFileInfo); Debug.logError(e); throw e; } finally { parser.jjtree.reset(); } } return parsedLineNodes; }
e.setErrorSourceFile( sourceFileInfo ); throw e; } catch ( InterpreterError e ) {