// this is a visitor that encapsulates actions per AstNode
// the action is to register the names of productions
import java.util.*;
import Jakarta.util.*;
class fillFPtable implements Visitor {
public void action( AstNode n ) { }
public void action( AstOptNode n ) { }
public void action( AstList n ) { }
public void action( AstListNode n ) { }
public void action( AExpr n ) { }
public void action( Avar n ) { }
public void action( AvarList n ) { }
public void action( BExpr n ) { }
public void action( BAnd n ) { }
public void action( BChoose1 n ) { }
public void action( BIff n ) { }
public void action( BImplies n ) { }
public void action( BNot n ) { }
public void action( BOr n ) { }
public void action( Bvar n ) { }
public void action( Cons n ) { }
public void action( ConsStmt n ) { }
public void action( EExpr n ) { }
public void action( ESList n ) { }
public void action( EStmt n ) { }
public void action( Expr n ) { }
public void action( ExprList n ) { }
public void action( ExprStmt n ) { }
public void action( GPattern n ) { }
public void action( GProd n ) {}
public void action( GProduction n ) {
String name = n.tok[0].getTokenName();
if (production.FPtable.containsKey(name)) {
Util.error( "production " + name + " has multiple definitions");
return;
}
production.FPtable.put(name,name);
}
public void action( GTerm n ) { }
public void action( IExpr n ) { }
public void action( MainModel n ) { }
public void action( Model n ) { }
public void action( NExpr n ) { }
public void action( OExpr n ) { }
public void action( Opt n ) { }
public void action( OptTerm n ) { }
public void action( Optid n ) { }
public void action( Opts n ) { }
public void action( Paren n ) { }
public void action( Pat n ) { }
public void action( Pats n ) { }
public void action( PlusTerm n ) { }
public void action( Prods n ) { }
public void action( SimplePattern n ) { }
public void action( StarTerm n ) { }
public void action( Strlit n ) { }
public void action( TermList n ) { }
public void action( TermName n ) { }
public void action( Var n ) { }
public void action( Vars n ) { }
public void action( VarStmt n ) { }
public void action( enterGspec n ) { }
}