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 }