com.croftsoft.apps.compiler.mini.code
Class JavaSourceMiniNodeCodeVisitor

java.lang.Object
  extended by com.croftsoft.apps.compiler.mini.code.JavaSourceMiniNodeCodeVisitor
All Implemented Interfaces:
MiniNodeCodeVisitor, MiniSymbols

public class JavaSourceMiniNodeCodeVisitor
extends Object
implements MiniNodeCodeVisitor, MiniSymbols

Generates Java source code from MiniNode objects.

Version:
1999-04-27
See Also:
MiniNodeCodeVisitor
Author:
David W. Croft

Field Summary
protected  String className
           
protected  String demarkLine
           
protected  int depth
           
protected  String margin
           
protected  int nextTemp
           
protected  PrintStream out
           
 
Fields inherited from interface com.croftsoft.apps.compiler.mini.parse.MiniSymbols
$START, ASSIGN, assignmentStatement, BEGIN, block, CALL, COMMA, comparison, conditionalStatement, CONSTANT, declaration, declarationSequence, definiteLoop, DIVIDE, DO, element, ELSE, END, EOF, EQ, error, EXP, expression, expressionList, FI, GE, GT, IF, indefiniteLoop, inputStatement, INTEGER, LE, LPAREN, LT, MINUS, MOD, NAME, name1, nameList, NE, outputStatement, parameterList, PLUS, PROCEDURE, procedureCall, program, READ, relation, RPAREN, SEMICOLON, statement, statementSequence, strongOperator, term, THEN, TIMES, TO, UMINUS, weakOperator, WHILE, WRITE
 
Constructor Summary
JavaSourceMiniNodeCodeVisitor(PrintStream out, String className)
           
 
Method Summary
protected  void generate(List miniNodeList)
           
protected  void generate(String prefix, List miniNodeList, String postfix, String delimiter)
           
 void generateAssignmentStatement(MiniNode miniNode)
           
 void generateBlock(MiniNode miniNode)
           
 void generateComparison(MiniNode miniNode)
           
 void generateConditionalStatement(MiniNode miniNode)
           
 void generateConstant(MiniNode miniNode)
           
 void generateDeclarationSequence(MiniNode miniNode)
           
 void generateDefiniteLoopStatement(MiniNode miniNode)
           
 void generateExpression(MiniNode miniNode)
           
 void generateExpressionElement(MiniNode miniNode)
           
 void generateExpressionSequence(MiniNode miniNode)
           
 void generateIndefiniteLoopStatement(MiniNode miniNode)
           
 void generateInputStatement(MiniNode miniNode)
           
 void generateIntegerDeclaration(MiniNode miniNode)
           
 void generateName(MiniNode miniNode)
           
 void generateNameSequence(MiniNode miniNode)
           
 void generateOperator(MiniNode miniNode)
           
 void generateOutputStatement(MiniNode miniNode)
           
 void generateParameterSequence(MiniNode miniNode)
           
 void generateProcedureCallStatement(MiniNode miniNode)
           
 void generateProcedureDeclaration(MiniNode miniNode)
           
 void generateProgram(MiniNode miniNode)
           
 void generateRelation(MiniNode miniNode)
           
 void generateStatementSequence(MiniNode miniNode)
           
 void generateTerm(MiniNode miniNode)
           
protected  void indent()
           
 int nextTemp()
           
protected  String pad()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

out

protected PrintStream out

className

protected String className

depth

protected int depth

nextTemp

protected int nextTemp

margin

protected String margin

demarkLine

protected String demarkLine
Constructor Detail

JavaSourceMiniNodeCodeVisitor

public JavaSourceMiniNodeCodeVisitor(PrintStream out,
                                     String className)
Method Detail

nextTemp

public int nextTemp()

indent

protected void indent()

pad

protected String pad()

generate

protected void generate(String prefix,
                        List miniNodeList,
                        String postfix,
                        String delimiter)

generate

protected void generate(List miniNodeList)

generateAssignmentStatement

public void generateAssignmentStatement(MiniNode miniNode)
Specified by:
generateAssignmentStatement in interface MiniNodeCodeVisitor

generateBlock

public void generateBlock(MiniNode miniNode)
Specified by:
generateBlock in interface MiniNodeCodeVisitor

generateComparison

public void generateComparison(MiniNode miniNode)
Specified by:
generateComparison in interface MiniNodeCodeVisitor

generateConditionalStatement

public void generateConditionalStatement(MiniNode miniNode)
Specified by:
generateConditionalStatement in interface MiniNodeCodeVisitor

generateConstant

public void generateConstant(MiniNode miniNode)
Specified by:
generateConstant in interface MiniNodeCodeVisitor

generateDeclarationSequence

public void generateDeclarationSequence(MiniNode miniNode)
Specified by:
generateDeclarationSequence in interface MiniNodeCodeVisitor

generateDefiniteLoopStatement

public void generateDefiniteLoopStatement(MiniNode miniNode)
Specified by:
generateDefiniteLoopStatement in interface MiniNodeCodeVisitor

generateExpression

public void generateExpression(MiniNode miniNode)
Specified by:
generateExpression in interface MiniNodeCodeVisitor

generateExpressionElement

public void generateExpressionElement(MiniNode miniNode)
Specified by:
generateExpressionElement in interface MiniNodeCodeVisitor

generateExpressionSequence

public void generateExpressionSequence(MiniNode miniNode)
Specified by:
generateExpressionSequence in interface MiniNodeCodeVisitor

generateIndefiniteLoopStatement

public void generateIndefiniteLoopStatement(MiniNode miniNode)
Specified by:
generateIndefiniteLoopStatement in interface MiniNodeCodeVisitor

generateInputStatement

public void generateInputStatement(MiniNode miniNode)
Specified by:
generateInputStatement in interface MiniNodeCodeVisitor

generateIntegerDeclaration

public void generateIntegerDeclaration(MiniNode miniNode)
Specified by:
generateIntegerDeclaration in interface MiniNodeCodeVisitor

generateName

public void generateName(MiniNode miniNode)
Specified by:
generateName in interface MiniNodeCodeVisitor

generateNameSequence

public void generateNameSequence(MiniNode miniNode)
Specified by:
generateNameSequence in interface MiniNodeCodeVisitor

generateOperator

public void generateOperator(MiniNode miniNode)
Specified by:
generateOperator in interface MiniNodeCodeVisitor

generateOutputStatement

public void generateOutputStatement(MiniNode miniNode)
Specified by:
generateOutputStatement in interface MiniNodeCodeVisitor

generateParameterSequence

public void generateParameterSequence(MiniNode miniNode)
Specified by:
generateParameterSequence in interface MiniNodeCodeVisitor

generateProcedureCallStatement

public void generateProcedureCallStatement(MiniNode miniNode)
Specified by:
generateProcedureCallStatement in interface MiniNodeCodeVisitor

generateProcedureDeclaration

public void generateProcedureDeclaration(MiniNode miniNode)
Specified by:
generateProcedureDeclaration in interface MiniNodeCodeVisitor

generateProgram

public void generateProgram(MiniNode miniNode)
Specified by:
generateProgram in interface MiniNodeCodeVisitor

generateRelation

public void generateRelation(MiniNode miniNode)
Specified by:
generateRelation in interface MiniNodeCodeVisitor

generateStatementSequence

public void generateStatementSequence(MiniNode miniNode)
Specified by:
generateStatementSequence in interface MiniNodeCodeVisitor

generateTerm

public void generateTerm(MiniNode miniNode)
Specified by:
generateTerm in interface MiniNodeCodeVisitor

CroftSoft Javadoc

CroftSoft Apps Javadoc (2008-09-28 21:15:07)