Package net.hydromatic.morel.ast
Class AstWriter
- java.lang.Object
-
- net.hydromatic.morel.ast.AstWriter
-
public class AstWriter extends java.lang.ObjectContext for writing an AST out as a string.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringBuilderb
-
Constructor Summary
Constructors Constructor Description AstWriter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AstWriterappend(java.lang.String s)Appends a string to the output.AstWriterappend(AstNode node, int left, int right)Appends a parse tree node.AstWriterappendAll(java.lang.Iterable<? extends AstNode> nodes, int left, Op op, int right)Appends a list of parse tree nodes.AstWriterappendAll(java.lang.Iterable<? extends AstNode> list, java.lang.String sep)Appends a list of parse tree nodes separated bysep.AstWriterappendAll(java.lang.Iterable<? extends AstNode> list, java.lang.String start, java.lang.String sep, java.lang.String end)Appends a list of parse tree nodes separated bysep, and also with prefix and suffix:start node0 sep node1 ... sep nodeN end.AstWriterappendAll(java.lang.Iterable<? extends AstNode> list, java.lang.String start, java.lang.String sep, java.lang.String end, java.lang.String empty)Appends a list of parse tree nodes separated bysep, and also with prefix and suffix:start node0 sep node1 ... sep nodeN end.AstWriterbinary(java.lang.String left, AstNode a0, java.lang.String mid, AstNode a1, int right)Appends a call to a binary operator (e.g.AstWriterbinary(java.lang.String left, AstNode a0, java.lang.String mid, AstNode a1, java.lang.String right)Appends a call to a binary operator (e.g.AstWriterinfix(int left, AstNode a0, Op op, AstNode a1, int right)Appends a call to an infix operator.AstWriterprefix(int left, Op op, AstNode a, int right)Appends a call to an prefix operator.java.lang.StringtoString()
-
-
-
Method Detail
-
toString
public java.lang.String toString()
Returns the ML source code generated by this writer.
- Overrides:
toStringin classjava.lang.Object
-
append
public AstWriter append(java.lang.String s)
Appends a string to the output.
-
infix
public AstWriter infix(int left, AstNode a0, Op op, AstNode a1, int right)
Appends a call to an infix operator.
-
prefix
public AstWriter prefix(int left, Op op, AstNode a, int right)
Appends a call to an prefix operator.
-
binary
public AstWriter binary(java.lang.String left, AstNode a0, java.lang.String mid, AstNode a1, int right)
Appends a call to a binary operator (e.g. "val ... = ...").
-
binary
public AstWriter binary(java.lang.String left, AstNode a0, java.lang.String mid, AstNode a1, java.lang.String right)
Appends a call to a binary operator (e.g. "let ... in ... end").
-
appendAll
public AstWriter appendAll(java.lang.Iterable<? extends AstNode> nodes, int left, Op op, int right)
Appends a list of parse tree nodes.
-
appendAll
public AstWriter appendAll(java.lang.Iterable<? extends AstNode> list, java.lang.String sep)
Appends a list of parse tree nodes separated bysep.
-
appendAll
public AstWriter appendAll(java.lang.Iterable<? extends AstNode> list, java.lang.String start, java.lang.String sep, java.lang.String end)
Appends a list of parse tree nodes separated bysep, and also with prefix and suffix:start node0 sep node1 ... sep nodeN end.
-
appendAll
public AstWriter appendAll(java.lang.Iterable<? extends AstNode> list, java.lang.String start, java.lang.String sep, java.lang.String end, java.lang.String empty)
Appends a list of parse tree nodes separated bysep, and also with prefix and suffix:start node0 sep node1 ... sep nodeN end.
-
-