/** * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the Eclipse Public License (EPL). * Please see the license.txt included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ /* * Created on Sep 16, 2006 * @author Fabio */ package org.python.pydev.parser; import org.python.pydev.parser.jython.ParseException; import org.python.pydev.parser.jython.SimpleNode; /** * Interface for the grammar used. * * @author Fabio */ public interface IGrammar { void enable_tracing(); public static Object parseLock = new Object(); /** * Important: code that calls this function must be synchronized with the parseLock object in this interface. * This is needed because there are optimizations within the parser that require it to be accessed * sequentially. * * (optimization: openNode in the tree builder) * * @return the tree structure generated by parsing the file. * * @throws ParseException */ SimpleNode file_input() throws ParseException; /** * @return the 1st error that occurred while parsing. */ Throwable getErrorOnParsing(); }