ptolemy.data.expr
Class ParseTreeWriter
java.lang.Object
ptolemy.data.expr.AbstractParseTreeVisitor
ptolemy.data.expr.ParseTreeWriter
- All Implemented Interfaces:
- ParseTreeVisitor
public class ParseTreeWriter
- extends AbstractParseTreeVisitor
This class implements a visitor that writes parse trees in the
expression language.
- Since:
- Ptolemy II 2.1
- Version:
- $Id: ParseTreeWriter.java 57046 2010-01-27 23:35:53Z cxh $
- Author:
- Steve Neuendorffer
- See Also:
ASTPtRootNode
- Accepted Rating:
- Proposed Rating:
Field Summary |
protected java.io.PrintWriter |
_writer
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_writer
protected java.io.PrintWriter _writer
ParseTreeWriter
public ParseTreeWriter()
displayParseTree
public void displayParseTree(ASTPtRootNode root)
parseTreeToExpression
public java.lang.String parseTreeToExpression(ASTPtRootNode root)
throws IllegalActionException
- Produce an expression for this parse tree.
- Parameters:
root
- The root of the parse tree.
- Returns:
- The expression.
- Throws:
IllegalActionException
- If the parse tree has an error.
printParseTree
public java.lang.String printParseTree(ASTPtRootNode root)
- Return an expression for this parse tree, or a description
of the exception if an exception occurs.
- Parameters:
root
- The root of the parse tree.
- Returns:
- The expression.
visitArrayConstructNode
public void visitArrayConstructNode(ASTPtArrayConstructNode node)
throws IllegalActionException
- Specified by:
visitArrayConstructNode
in interface ParseTreeVisitor
- Overrides:
visitArrayConstructNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitBitwiseNode
public void visitBitwiseNode(ASTPtBitwiseNode node)
throws IllegalActionException
- Specified by:
visitBitwiseNode
in interface ParseTreeVisitor
- Overrides:
visitBitwiseNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitFunctionApplicationNode
public void visitFunctionApplicationNode(ASTPtFunctionApplicationNode node)
throws IllegalActionException
- Specified by:
visitFunctionApplicationNode
in interface ParseTreeVisitor
- Overrides:
visitFunctionApplicationNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitFunctionDefinitionNode
public void visitFunctionDefinitionNode(ASTPtFunctionDefinitionNode node)
throws IllegalActionException
- Specified by:
visitFunctionDefinitionNode
in interface ParseTreeVisitor
- Overrides:
visitFunctionDefinitionNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitFunctionalIfNode
public void visitFunctionalIfNode(ASTPtFunctionalIfNode node)
throws IllegalActionException
- Specified by:
visitFunctionalIfNode
in interface ParseTreeVisitor
- Overrides:
visitFunctionalIfNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitLeafNode
public void visitLeafNode(ASTPtLeafNode node)
throws IllegalActionException
- Specified by:
visitLeafNode
in interface ParseTreeVisitor
- Overrides:
visitLeafNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitLogicalNode
public void visitLogicalNode(ASTPtLogicalNode node)
throws IllegalActionException
- Specified by:
visitLogicalNode
in interface ParseTreeVisitor
- Overrides:
visitLogicalNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitMatrixConstructNode
public void visitMatrixConstructNode(ASTPtMatrixConstructNode node)
throws IllegalActionException
- Specified by:
visitMatrixConstructNode
in interface ParseTreeVisitor
- Overrides:
visitMatrixConstructNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitMethodCallNode
public void visitMethodCallNode(ASTPtMethodCallNode node)
throws IllegalActionException
- Specified by:
visitMethodCallNode
in interface ParseTreeVisitor
- Overrides:
visitMethodCallNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitPowerNode
public void visitPowerNode(ASTPtPowerNode node)
throws IllegalActionException
- Specified by:
visitPowerNode
in interface ParseTreeVisitor
- Overrides:
visitPowerNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitProductNode
public void visitProductNode(ASTPtProductNode node)
throws IllegalActionException
- Specified by:
visitProductNode
in interface ParseTreeVisitor
- Overrides:
visitProductNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitRecordConstructNode
public void visitRecordConstructNode(ASTPtRecordConstructNode node)
throws IllegalActionException
- Specified by:
visitRecordConstructNode
in interface ParseTreeVisitor
- Overrides:
visitRecordConstructNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitRelationalNode
public void visitRelationalNode(ASTPtRelationalNode node)
throws IllegalActionException
- Specified by:
visitRelationalNode
in interface ParseTreeVisitor
- Overrides:
visitRelationalNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitShiftNode
public void visitShiftNode(ASTPtShiftNode node)
throws IllegalActionException
- Specified by:
visitShiftNode
in interface ParseTreeVisitor
- Overrides:
visitShiftNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitSumNode
public void visitSumNode(ASTPtSumNode node)
throws IllegalActionException
- Specified by:
visitSumNode
in interface ParseTreeVisitor
- Overrides:
visitSumNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
visitUnaryNode
public void visitUnaryNode(ASTPtUnaryNode node)
throws IllegalActionException
- Specified by:
visitUnaryNode
in interface ParseTreeVisitor
- Overrides:
visitUnaryNode
in class AbstractParseTreeVisitor
- Throws:
IllegalActionException
_printChild
private void _printChild(ASTPtRootNode node,
int index)
throws IllegalActionException
- Throws:
IllegalActionException
_printChildrenSeparated
private void _printChildrenSeparated(ASTPtRootNode node,
java.util.List separatorList)
throws IllegalActionException
- Throws:
IllegalActionException
_printChildrenSeparated
private void _printChildrenSeparated(ASTPtRootNode node,
java.lang.String string)
throws IllegalActionException
- Throws:
IllegalActionException