//
// Generated by JTB 1.3.2 DIT@UoA patched
//

package visitor;
import syntaxtree.*;
import java.util.*;

/**
 * All GJ visitors with no argument must implement this interface.
 */

public interface GJNoArguVisitor<R> {

   //
   // GJ Auto class visitors with no argument
   //

   public R visit(NodeList n) ;
   public R visit(NodeListOptional n) ;
   public R visit(NodeOptional n) ;
   public R visit(NodeSequence n) ;
   public R visit(NodeToken n) ;

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

   /**
    * f0 -> AdditiveExpression()
    * f1 -> <EOF>
    */
   public R visit(Goal n);

   /**
    * f0 -> MultiplicativeExpression()
    * f1 -> AdditiveExpressionTail()
    */
   public R visit(AdditiveExpression n);

   /**
    * f0 -> ( AdditiveExpressionTerm() )*
    */
   public R visit(AdditiveExpressionTail n);

   /**
    * f0 -> PlusExpression()
    *       | MinusExpression()
    */
   public R visit(AdditiveExpressionTerm n);

   /**
    * f0 -> "+"
    * f1 -> MultiplicativeExpression()
    */
   public R visit(PlusExpression n);

   /**
    * f0 -> "-"
    * f1 -> MultiplicativeExpression()
    */
   public R visit(MinusExpression n);

   /**
    * f0 -> PrimaryExpression()
    * f1 -> MultiplicativeExpressionTail()
    */
   public R visit(MultiplicativeExpression n);

   /**
    * f0 -> ( MultiplicativeExpressionTerm() )*
    */
   public R visit(MultiplicativeExpressionTail n);

   /**
    * f0 -> MultExpression()
    *       | DivExpression()
    */
   public R visit(MultiplicativeExpressionTerm n);

   /**
    * f0 -> "*"
    * f1 -> PrimaryExpression()
    */
   public R visit(MultExpression n);

   /**
    * f0 -> "/"
    * f1 -> PrimaryExpression()
    */
   public R visit(DivExpression n);

   /**
    * f0 -> Constant()
    *       | BracketExpression()
    */
   public R visit(PrimaryExpression n);

   /**
    * f0 -> "("
    * f1 -> AdditiveExpression()
    * f2 -> ")"
    */
   public R visit(BracketExpression n);

   /**
    * f0 -> <NUMBER>
    */
   public R visit(Constant n);

}

