1 module AbstractSyntax (Production (..)) where 2 -- Copyright 1994 by Peter Thiemann 3 4 data Production 5 = ProdFile [Production] 6 | ProdProduction String [String] Production -- optional print name 7 | ProdTerm [Production] -- an alternative of terms 8 | ProdFactor [Production] -- a sequence of factors 9 | ProdNonterminal String 10 | ProdTerminal String 11 | ProdOption Production 12 | ProdRepeat Production 13 | ProdRepeatWithAtom Production Production 14 | ProdRepeat1 Production 15 | ProdPlus -- a helper 16 | ProdSlash Production -- another helper 17 deriving Eq 18