////////////////////////////////////////////////////////////////////// // 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; /********************************************************************* * Generates code from MiniNode objects. * * @see * MiniNode * * @author * David W. Croft * @version * 1999-04-24 *********************************************************************/ public interface MiniNodeCodeVisitor ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// { public void generateAssignmentStatement ( MiniNode miniNode ); public void generateBlock ( MiniNode miniNode ); public void generateComparison ( MiniNode miniNode ); public void generateConditionalStatement ( MiniNode miniNode ); public void generateConstant ( MiniNode miniNode ); public void generateDeclarationSequence ( MiniNode miniNode ); public void generateDefiniteLoopStatement ( MiniNode miniNode ); public void generateExpression ( MiniNode miniNode ); public void generateExpressionElement ( MiniNode miniNode ); public void generateExpressionSequence ( MiniNode miniNode ); public void generateIndefiniteLoopStatement ( MiniNode miniNode ); public void generateInputStatement ( MiniNode miniNode ); public void generateIntegerDeclaration ( MiniNode miniNode ); public void generateName ( MiniNode miniNode ); public void generateNameSequence ( MiniNode miniNode ); public void generateOperator ( MiniNode miniNode ); public void generateOutputStatement ( MiniNode miniNode ); public void generateParameterSequence ( MiniNode miniNode ); public void generateProcedureCallStatement ( MiniNode miniNode ); public void generateProcedureDeclaration ( MiniNode miniNode ); public void generateProgram ( MiniNode miniNode ); public void generateRelation ( MiniNode miniNode ); public void generateStatementSequence ( MiniNode miniNode ); public void generateTerm ( MiniNode miniNode ); ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// }