GJNoArguDepthFirst.java

//
// Generated by JTB 1.3.2
//

package net.metanotion.simpletemplate.parser.visitor;
import net.metanotion.simpletemplate.parser.syntaxtree.*;
import java.util.*;

/**
 * Provides default methods which visit each node in the tree in depth-first
 * order.  Your visitors may extend this class.
 */
public class GJNoArguDepthFirst<R> implements GJNoArguVisitor<R> {
   //
   // Auto class visitors--probably don't need to be overridden.
   //
   public R visit(NodeList n) {
      R _ret=null;
      int _count=0;
      for ( Enumeration<Node> e = n.elements(); e.hasMoreElements(); ) {
         e.nextElement().accept(this);
         _count++;
      }
      return _ret;
   }

   public R visit(NodeListOptional n) {
      if ( n.present() ) {
         R _ret=null;
         int _count=0;
         for ( Enumeration<Node> e = n.elements(); e.hasMoreElements(); ) {
            e.nextElement().accept(this);
            _count++;
         }
         return _ret;
      }
      else
         return null;
   }

   public R visit(NodeOptional n) {
      if ( n.present() )
         return n.node.accept(this);
      else
         return null;
   }

   public R visit(NodeSequence n) {
      R _ret=null;
      int _count=0;
      for ( Enumeration<Node> e = n.elements(); e.hasMoreElements(); ) {
         e.nextElement().accept(this);
         _count++;
      }
      return _ret;
   }

   public R visit(NodeToken n) { return null; }

   //
   // User-generated visitor methods below
   //

   /**
    * <PRE>
    * f0 -> ( HtmlBlock() )*
    * f1 -> &lt;EOF&gt;
    * </PRE>
    */
   public R visit(Template n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;HTML&gt;
    *       | &lt;HTML_OTHER&gt;
    *       | ES()
    *       | &lt;BEGIN_SSI&gt; SSD() &lt;END_SSI&gt;
    * </PRE>
    */
   public R visit(HtmlBlock n) {
      R _ret=null;
      n.f0.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;BEGIN_CALL&gt;
    * f1 -> [ ExprSeq() ]
    * f2 -> &lt;END_CALL&gt;
    * </PRE>
    */
   public R visit(ES n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      n.f2.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> Expression()
    * f1 -> ( &lt;OP_SEMI&gt; Expression() )*
    * </PRE>
    */
   public R visit(ExprSeq n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> Apply()
    *       | JSObj()
    *       | JSArr()
    *       | Tuple()
    *       | Lambda()
    *       | Let()
    *       | Literal()
    *       | Lift()
    * </PRE>
    */
   public R visit(Expression n) {
      R _ret=null;
      n.f0.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;ID&gt;
    * f1 -> ( &lt;OP_DOT&gt; &lt;ID&gt; )*
    * f2 -> [ Expression() ]
    * </PRE>
    */
   public R visit(Apply n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      n.f2.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;L_CURLY&gt;
    * f1 -> [ WithParams() ]
    * f2 -> &lt;R_CURLY&gt;
    * </PRE>
    */
   public R visit(JSObj n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      n.f2.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;L_BRACE&gt;
    * f1 -> [ Params() ]
    * f2 -> &lt;R_BRACE&gt;
    * </PRE>
    */
   public R visit(JSArr n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      n.f2.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;L_PAREN&gt;
    * f1 -> [ Params() ]
    * f2 -> &lt;R_PAREN&gt;
    * f3 -> [ Expression() ]
    * </PRE>
    */
   public R visit(Tuple n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      n.f2.accept(this);
      n.f3.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;OP_LAMBDA&gt;
    * f1 -> &lt;L_PAREN&gt;
    * f2 -> ExprSeq()
    * f3 -> &lt;R_PAREN&gt;
    * f4 -> [ Expression() ]
    * </PRE>
    */
   public R visit(Lambda n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      n.f2.accept(this);
      n.f3.accept(this);
      n.f4.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;KW_LET&gt;
    * f1 -> JSObj()
    * f2 -> &lt;L_PAREN&gt;
    * f3 -> ExprSeq()
    * f4 -> &lt;R_PAREN&gt;
    * f5 -> [ Expression() ]
    * </PRE>
    */
   public R visit(Let n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      n.f2.accept(this);
      n.f3.accept(this);
      n.f4.accept(this);
      n.f5.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;OP_LIFT&gt;
    * f1 -> [ Expression() ]
    * </PRE>
    */
   public R visit(Lift n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;DECIMAL_LITERAL&gt;
    *       | &lt;HEX_LITERAL&gt;
    *       | &lt;FLOAT_LITERAL&gt;
    *       | &lt;STRING_LITERAL&gt;
    *       | &lt;SQSTRING_LITERAL&gt;
    *       | &lt;BOOLEAN_LITERAL&gt;
    * </PRE>
    */
   public R visit(Literal n) {
      R _ret=null;
      n.f0.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> Expression()
    * f1 -> ( &lt;OP_COMMA&gt; Expression() )*
    * </PRE>
    */
   public R visit(Params n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> WithParam()
    * f1 -> ( &lt;OP_COMMA&gt; WithParam() )*
    * </PRE>
    */
   public R visit(WithParams n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;ID&gt;
    *       | &lt;STRING_LITERAL&gt;
    *       | &lt;SQSTRING_LITERAL&gt;
    * </PRE>
    */
   public R visit(Key n) {
      R _ret=null;
      n.f0.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> Key()
    * f1 -> &lt;OP_WITH&gt;
    * f2 -> Expression()
    * </PRE>
    */
   public R visit(WithParam n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      n.f2.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> Directive()
    * f1 -> &lt;SSIID&gt;
    * f2 -> &lt;SOP_EQ&gt;
    * f3 -> &lt;SSI_STRING_LITERAL&gt;
    * </PRE>
    */
   public R visit(SSD n) {
      R _ret=null;
      n.f0.accept(this);
      n.f1.accept(this);
      n.f2.accept(this);
      n.f3.accept(this);
      return _ret;
   }

   /**
    * <PRE>
    * f0 -> &lt;KW_INC&gt;
    *       | &lt;KW_ECHO&gt;
    *       | &lt;KW_CONFIG&gt;
    *       | &lt;KW_EXEC&gt;
    *       | &lt;KW_SET&gt;
    *       | &lt;KW_IF&gt;
    *       | &lt;KW_ELIF&gt;
    *       | &lt;KW_ELSE&gt;
    *       | &lt;KW_ENDIF&gt;
    * </PRE>
    */
   public R visit(Directive n) {
      R _ret=null;
      n.f0.accept(this);
      return _ret;
   }

}