package org.zilonis.parser;
/**
* Copyright (c) 2005 Elie Levy <elie.levy@zilonis.org>
* All rights reserved
*
* This License governs use of the accompanying Software, and your use of the
* Software constitutes acceptance of this license.
*
* You may use this Software for any non-commercial purpose, subject to the
* restrictions in this license. Some purposes which can be non-commercial are
* teaching, academic research, and personal experimentation. You may also
* distribute this Software with books or other teaching materials, or publish
* the Software on websites, that are intended to teach the use of the
* Software.
*
*
* You may not use or distribute this Software or any derivative works in any
* form for commercial purposes. Examples of commercial purposes would be
* running business operations, licensing, leasing, or selling the Software, or
* distributing the Software for use with commercial products.
*
* You may modify this Software and distribute the modified Software for
* non-commercial purposes, however, you may not grant rights to the Software
* or derivative works that are broader than those provided by this License.
* For example, you may not distribute modifications of the Software under
* terms that would permit commercial use, or under terms that purport to
* require the Software or derivative works to be sublicensed to others.
*
* You may use any information in intangible form that you remember after
* accessing the Software. However, this right does not grant you a license to
* any of the copyrights or patents for anything you might create using such
* information.
*
* In return, we simply require that you agree:
*
* Not to remove any copyright or other notices from the Software.
*
*
* That if you distribute the Software in source or object form, you will
* include a verbatim copy of this license.
*
*
* That if you distribute derivative works of the Software in source code form
* you do so only under a license that includes all of the provisions of this
* License, and if you distribute derivative works of the Software solely in
* object form you do so only under a license that complies with this License.
*
*
* That if you have modified the Software or created derivative works, and
* distribute such modifications or derivative works, you will cause the
* modified files to carry prominent notices so that recipients know that they
* are not receiving the original Software. Such notices must state: (i) that
* you have changed the Software; and (ii) the date of any changes.
*
*
* THAT THE SOFTWARE COMES "AS IS", WITH NO WARRANTIES. THIS MEANS NO EXPRESS,
* IMPLIED OR STATUTORY WARRANTY, INCLUDING WITHOUT LIMITATION, WARRANTIES OF
* MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR ANY WARRANTY OF TITLE
* OR NON-INFRINGEMENT. ALSO, YOU MUST PASS THIS DISCLAIMER ON WHENEVER YOU
* DISTRIBUTE THE SOFTWARE OR DERIVATIVE WORKS.
*
*
* THAT NEITHER ZILONIS NOR THE AUTHOR WILL BE LIABLE FOR ANY DAMAGES RELATED
* TO THE SOFTWARE OR THIS LICENSE, INCLUDING DIRECT, INDIRECT, SPECIAL,
* CONSEQUENTIAL OR INCIDENTAL DAMAGES, TO THE MAXIMUM EXTENT THE LAW PERMITS,
* NO MATTER WHAT LEGAL THEORY IT IS BASED ON. ALSO, YOU MUST PASS THIS
* LIMITATION OF LIABILITY ON WHENEVER YOU DISTRIBUTE THE SOFTWARE OR
* DERIVATIVE WORKS.
*
*
* That if you sue anyone over patents that you think may apply to the Software
* or anyone's use of the Software, your license to the Software ends
* automatically.
*
*
* That your rights under the License end automatically if you breach it in any
* way.
*
*
* Elie Levy reserves all rights not expressly granted to you in this
* license.
*
*/
import java.io.FileNotFoundException;
import org.zilonis.network.Condition;
import antlr.RecognitionException;
import antlr.TokenStreamException;
import antlr.collections.AST;
public interface ParserEventHandler {
public void loadFile(AST filename);
public Condition defineRule(String name,
int salience,
AST conditionList,
AST actionList);
public void defineFact(AST template);
public void listFacts();
public void retractAllFacts();
public void run();
public void prettyPrint();
public void noPrettyPrint();
/**
* Used only in UI tools. If the link is called, it is expected that the
* UI will react to the commands that are executed
*/
public void link();
/**
* Used only in UI tools. If the unlink is called, it is expected that the
* UI will not react to the commands that are executed until the "link" method is called
*/
public void unlink();
/*
public void startDocument();
public void endDocument();
public void assertTriplet(Triplet triplet);
public void retractTriplet(Triplet triplet);
public void addProduction(String name,
int salience,
Condition condition,
Action action);
public void loadFile(String file);
public void error(Exception e, String message);
*/
}
|