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 }