////////////////////////////////////////////////////////////////////// // The contents of this file are subject to the Mozilla Public License // Version 1.1 (the "License"); you may not use this file except in // compliance with the License. You may obtain a copy of the License // at http://www.mozilla.org/MPL/ // // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. // See the License for the specific language governing rights and // limitations under the License. // // The Original Code is "Mini". // // The Initial Developer of the Original Code is David Wallace Croft // (croft@alumni.caltech.edu, http://www.alumni.caltech.edu/~croft/). // Portions created by David Wallace Croft are // Copyright (C) 1999 David Wallace Croft. All Rights Reserved. // // Contributor(s): ////////////////////////////////////////////////////////////////////// package com.orbs.open.a.mpl.compiler.mini.node; import java.util.*; /********************************************************************* * Interface for parse tree objects for the Mini programming language. * * Reference: * *
*
* "JLex: A Lexical Analyzer Generator for Java"
*
* http://www.cs.princeton.edu/~appel/modern/java/JLex/
*
* @author
* David W. Croft
* @version
* 1999-04-25
*********************************************************************/
public interface MiniNode
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
{
/*********************************************************************
* Uses the Visitor design pattern to generate code.
*
*
* miniNodeCodeVisitor.generate ( this );
*
*********************************************************************/
public void generate ( MiniNodeCodeVisitor miniNodeCodeVisitor );
public void checkSemantics ( Stack parentMiniNodeStack )
throws SemanticErrorException;
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
}