Package 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$
- Author:
- Steve Neuendorffer
- See Also:
ASTPtRootNode- Pt.AcceptedRating:
- Red (cxh)
- Pt.ProposedRating:
- Red (neuendor)
-
-
Field Summary
Fields Modifier and Type Field Description protected java.io.PrintWriter_writer
-
Constructor Summary
Constructors Constructor Description ParseTreeWriter()
-
Method Summary
-
Methods inherited from class ptolemy.data.expr.AbstractParseTreeVisitor
_unsupportedVisitException, _visitAllChildren, _visitChild, visitAssignmentNode, visitUnionConstructNode
-
-
-
-
Method Detail
-
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.
-
setStringMode
public void setStringMode(boolean stringMode)
Specify whether the expression to write is in string mode. FIXME string mode has only been implemented for leaf and sum nodes.- Parameters:
stringMode- True to put the expression to write in string mode.
-
visitArrayConstructNode
public void visitArrayConstructNode(ASTPtArrayConstructNode node) throws IllegalActionException
- Specified by:
visitArrayConstructNodein interfaceParseTreeVisitor- Overrides:
visitArrayConstructNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitBitwiseNode
public void visitBitwiseNode(ASTPtBitwiseNode node) throws IllegalActionException
- Specified by:
visitBitwiseNodein interfaceParseTreeVisitor- Overrides:
visitBitwiseNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitFunctionApplicationNode
public void visitFunctionApplicationNode(ASTPtFunctionApplicationNode node) throws IllegalActionException
- Specified by:
visitFunctionApplicationNodein interfaceParseTreeVisitor- Overrides:
visitFunctionApplicationNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitFunctionDefinitionNode
public void visitFunctionDefinitionNode(ASTPtFunctionDefinitionNode node) throws IllegalActionException
- Specified by:
visitFunctionDefinitionNodein interfaceParseTreeVisitor- Overrides:
visitFunctionDefinitionNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitFunctionalIfNode
public void visitFunctionalIfNode(ASTPtFunctionalIfNode node) throws IllegalActionException
- Specified by:
visitFunctionalIfNodein interfaceParseTreeVisitor- Overrides:
visitFunctionalIfNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitLeafNode
public void visitLeafNode(ASTPtLeafNode node) throws IllegalActionException
- Specified by:
visitLeafNodein interfaceParseTreeVisitor- Overrides:
visitLeafNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitLogicalNode
public void visitLogicalNode(ASTPtLogicalNode node) throws IllegalActionException
- Specified by:
visitLogicalNodein interfaceParseTreeVisitor- Overrides:
visitLogicalNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitMatrixConstructNode
public void visitMatrixConstructNode(ASTPtMatrixConstructNode node) throws IllegalActionException
- Specified by:
visitMatrixConstructNodein interfaceParseTreeVisitor- Overrides:
visitMatrixConstructNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitMethodCallNode
public void visitMethodCallNode(ASTPtMethodCallNode node) throws IllegalActionException
- Specified by:
visitMethodCallNodein interfaceParseTreeVisitor- Overrides:
visitMethodCallNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitPowerNode
public void visitPowerNode(ASTPtPowerNode node) throws IllegalActionException
- Specified by:
visitPowerNodein interfaceParseTreeVisitor- Overrides:
visitPowerNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitProductNode
public void visitProductNode(ASTPtProductNode node) throws IllegalActionException
- Specified by:
visitProductNodein interfaceParseTreeVisitor- Overrides:
visitProductNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitRecordConstructNode
public void visitRecordConstructNode(ASTPtRecordConstructNode node) throws IllegalActionException
- Specified by:
visitRecordConstructNodein interfaceParseTreeVisitor- Overrides:
visitRecordConstructNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitRelationalNode
public void visitRelationalNode(ASTPtRelationalNode node) throws IllegalActionException
- Specified by:
visitRelationalNodein interfaceParseTreeVisitor- Overrides:
visitRelationalNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitShiftNode
public void visitShiftNode(ASTPtShiftNode node) throws IllegalActionException
- Specified by:
visitShiftNodein interfaceParseTreeVisitor- Overrides:
visitShiftNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitSumNode
public void visitSumNode(ASTPtSumNode node) throws IllegalActionException
- Specified by:
visitSumNodein interfaceParseTreeVisitor- Overrides:
visitSumNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
visitUnaryNode
public void visitUnaryNode(ASTPtUnaryNode node) throws IllegalActionException
- Specified by:
visitUnaryNodein interfaceParseTreeVisitor- Overrides:
visitUnaryNodein classAbstractParseTreeVisitor- Throws:
IllegalActionException
-
-