001         package com.croftsoft.apps.compiler.mini.node;
002    
003         /*********************************************************************
004         * Generates code from MiniNode objects.
005         *
006         * @see
007         *   MiniNode
008         *
009         * @author
010         *   <A HREF="http://www.alumni.caltech.edu/~croft/">David W. Croft</A>
011         * @version
012         *   1999-04-24
013         *********************************************************************/
014    
015         public interface  MiniNodeCodeVisitor
016         //////////////////////////////////////////////////////////////////////
017         //////////////////////////////////////////////////////////////////////
018         {
019    
020         public void  generateAssignmentStatement     ( MiniNode  miniNode );
021    
022         public void  generateBlock                   ( MiniNode  miniNode );
023    
024         public void  generateComparison              ( MiniNode  miniNode );
025                                                    
026         public void  generateConditionalStatement    ( MiniNode  miniNode );
027    
028         public void  generateConstant                ( MiniNode  miniNode );
029    
030         public void  generateDeclarationSequence     ( MiniNode  miniNode );
031    
032         public void  generateDefiniteLoopStatement   ( MiniNode  miniNode );
033    
034         public void  generateExpression              ( MiniNode  miniNode );
035    
036         public void  generateExpressionElement       ( MiniNode  miniNode );
037    
038         public void  generateExpressionSequence      ( MiniNode  miniNode );
039    
040         public void  generateIndefiniteLoopStatement ( MiniNode  miniNode );
041    
042         public void  generateInputStatement          ( MiniNode  miniNode );
043    
044         public void  generateIntegerDeclaration      ( MiniNode  miniNode );
045    
046         public void  generateName                    ( MiniNode  miniNode );
047    
048         public void  generateNameSequence            ( MiniNode  miniNode );
049    
050         public void  generateOperator                ( MiniNode  miniNode );
051    
052         public void  generateOutputStatement         ( MiniNode  miniNode );
053    
054         public void  generateParameterSequence       ( MiniNode  miniNode );
055    
056         public void  generateProcedureCallStatement  ( MiniNode  miniNode );
057    
058         public void  generateProcedureDeclaration    ( MiniNode  miniNode );
059    
060         public void  generateProgram                 ( MiniNode  miniNode );
061    
062         public void  generateRelation                ( MiniNode  miniNode );
063    
064         public void  generateStatementSequence       ( MiniNode  miniNode );
065    
066         public void  generateTerm                    ( MiniNode  miniNode );
067    
068         //////////////////////////////////////////////////////////////////////
069         //////////////////////////////////////////////////////////////////////
070         }