import edu.neu.ccs.demeter.dj.*; Container = "(" Item_List Capacity ")" extends Item. Item : Container | Simple . Simple = ItemName Weight extends Item. ItemName = Ident. Capacity = int. Weight = int. SummingVisitorDJ = int extends Visitor. CountingVisitorDJ = int extends Visitor. AverageVisitorDJ = CountingVisitorDJ SummingVisitorDJ float extends Visitor. ResultVisitorDJ = AverageVisitorDJ extends Visitor. Main = . notparsed visitor PrintVisitor = int boolean extends UniversalVisitor. notparsed visitor CopyVisitor = derived Object extends UniversalVisitor. notparsed visitor SubgraphVisitor = boolean init {{ true }} extends UniversalVisitor. notparsed visitor EqualVisitor = boolean init {{ true }} extends UniversalVisitor. notparsed visitor DisplayVisitor = int extends UniversalVisitor. notparsed visitor TraceVisitor = int extends UniversalVisitor. notparsed visitor UniversalVisitor : . Item_List = [ Nonempty_Item_List]. Nonempty_Item_List = Item [ Nonempty_Item_List].