// This file is automatically generated by DemeterJ. UniversalVisitor { start {{ }} before { Program, -> Program,test,CNFwithType_PList, CNFwithType, -> CNFwithType,cnf,CNF, -> CNFwithType,cnftype,CNFType, -> CNFwithType,correct,Boolean, CNFType, -> CNFType,pair_plist,Pair_PList, Pair, -> Pair,listLength,int, -> Pair,posLits,int, FinishedProduct, -> FinishedProduct,exps,Expression_PList, Expression, LetExp, -> LetExp,assignment,Literal, -> LetExp,body,Expression, CNF, -> CNF,clauses,Clause_PList, -> CNF,sat,ClauseCount, -> CNF,unsat,ClauseCount, Clause, -> Clause,weight,Weight, -> Clause,literals,Literal_PList, Literal, Pos, -> Pos,variable,Variable, Neg, -> Neg,variable,Variable, Variable, -> Variable,v,Ident, Weight, -> Weight,v,int, ClauseCount, -> ClauseCount,v,int, Main, -> Main,s,String, CNFwithType_PList, -> CNFwithType_PList,first,Nonempty_CNFwithType_PList, Pair_PList, -> Pair_PList,first,Nonempty_Pair_PList, Expression_PList, -> Expression_PList,first,Nonempty_Expression_PList, Clause_PList, -> Clause_PList,first,Nonempty_Clause_PList, Literal_PList, -> Literal_PList,first,Nonempty_Literal_PList, Nonempty_CNFwithType_PList, -> Nonempty_CNFwithType_PList,it,CNFwithType, -> Nonempty_CNFwithType_PList,next,Nonempty_CNFwithType_PList, Nonempty_Pair_PList, -> Nonempty_Pair_PList,it,Pair, -> Nonempty_Pair_PList,next,Nonempty_Pair_PList, Nonempty_Expression_PList, -> Nonempty_Expression_PList,it,Expression, -> Nonempty_Expression_PList,next,Nonempty_Expression_PList, Nonempty_Clause_PList, -> Nonempty_Clause_PList,it,Clause, -> Nonempty_Clause_PList,next,Nonempty_Clause_PList, Nonempty_Literal_PList, -> Nonempty_Literal_PList,it,Literal, -> Nonempty_Literal_PList,next,Nonempty_Literal_PList } {{ }} after { Program, -> Program,test,CNFwithType_PList, CNFwithType, -> CNFwithType,cnf,CNF, -> CNFwithType,cnftype,CNFType, -> CNFwithType,correct,Boolean, CNFType, -> CNFType,pair_plist,Pair_PList, Pair, -> Pair,listLength,int, -> Pair,posLits,int, FinishedProduct, -> FinishedProduct,exps,Expression_PList, Expression, LetExp, -> LetExp,assignment,Literal, -> LetExp,body,Expression, CNF, -> CNF,clauses,Clause_PList, -> CNF,sat,ClauseCount, -> CNF,unsat,ClauseCount, Clause, -> Clause,weight,Weight, -> Clause,literals,Literal_PList, Literal, Pos, -> Pos,variable,Variable, Neg, -> Neg,variable,Variable, Variable, -> Variable,v,Ident, Weight, -> Weight,v,int, ClauseCount, -> ClauseCount,v,int, Main, -> Main,s,String, CNFwithType_PList, -> CNFwithType_PList,first,Nonempty_CNFwithType_PList, Pair_PList, -> Pair_PList,first,Nonempty_Pair_PList, Expression_PList, -> Expression_PList,first,Nonempty_Expression_PList, Clause_PList, -> Clause_PList,first,Nonempty_Clause_PList, Literal_PList, -> Literal_PList,first,Nonempty_Literal_PList, Nonempty_CNFwithType_PList, -> Nonempty_CNFwithType_PList,it,CNFwithType, -> Nonempty_CNFwithType_PList,next,Nonempty_CNFwithType_PList, Nonempty_Pair_PList, -> Nonempty_Pair_PList,it,Pair, -> Nonempty_Pair_PList,next,Nonempty_Pair_PList, Nonempty_Expression_PList, -> Nonempty_Expression_PList,it,Expression, -> Nonempty_Expression_PList,next,Nonempty_Expression_PList, Nonempty_Clause_PList, -> Nonempty_Clause_PList,it,Clause, -> Nonempty_Clause_PList,next,Nonempty_Clause_PList, Nonempty_Literal_PList, -> Nonempty_Literal_PList,it,Literal, -> Nonempty_Literal_PList,next,Nonempty_Literal_PList } {{ }} finish {{ }} }