package gen; import edu.neu.ccs.demeterf.demfgen.lib.*; import edu.neu.ccs.demeterf.*; nogen List(X) : Cons(X) | Empty(X). nogen Cons(X) = X List(X). nogen Empty(X) = . Start = List(LiteralOrBoolean) EOF. LiteralOrBoolean : Literal | B. B = boolean. Literal = *s Sign *s Variable *s. Sign: Neg | Pos. Pos = . // Can be "+" if desired. Neg = "!". // Can be "-" if desired. Variable = ident. Main = .