Let.java

//
// Generated by JTB 1.3.2
//

package net.metanotion.simpletemplate.parser.syntaxtree;

/**
 * Grammar production:
 * <PRE>
 * f0 -> &lt;KW_LET&gt;
 * f1 -> JSObj()
 * f2 -> &lt;L_PAREN&gt;
 * f3 -> ExprSeq()
 * f4 -> &lt;R_PAREN&gt;
 * f5 -> [ Expression() ]
 * </PRE>
 */
public class Let implements Node {
   public NodeToken f0;
   public JSObj f1;
   public NodeToken f2;
   public ExprSeq f3;
   public NodeToken f4;
   public NodeOptional f5;

   public Let(NodeToken n0, JSObj n1, NodeToken n2, ExprSeq n3, NodeToken n4, NodeOptional n5) {
      f0 = n0;
      f1 = n1;
      f2 = n2;
      f3 = n3;
      f4 = n4;
      f5 = n5;
   }

   public Let(JSObj n0, ExprSeq n1, NodeOptional n2) {
      f0 = new NodeToken("let");
      f1 = n0;
      f2 = new NodeToken("(");
      f3 = n1;
      f4 = new NodeToken(")");
      f5 = n2;
   }

   public void accept(net.metanotion.simpletemplate.parser.visitor.Visitor v) {
      v.visit(this);
   }
   public <R,A> R accept(net.metanotion.simpletemplate.parser.visitor.GJVisitor<R,A> v, A argu) {
      return v.visit(this,argu);
   }
   public <R> R accept(net.metanotion.simpletemplate.parser.visitor.GJNoArguVisitor<R> v) {
      return v.visit(this);
   }
   public <A> void accept(net.metanotion.simpletemplate.parser.visitor.GJVoidVisitor<A> v, A argu) {
      v.visit(this,argu);
   }
}