The grammar used for the Happy parser generator. CGIFFile: CG | CG '.' CGIFFile CG : Node | Node CG Node : Relation | Concept | Actor | Negation Relation: '(' TypeExp Arcs ')' Actor : '<' id Arcs '|' Arcs '>' Negation: '~' '[' CG ']' Arcs : Arc | Arc Arcs Arc : Concept | '?' id Concept : '[' TypeExp ':' Referent ']' | '[' TypeExp '*' id ':' Referent ']' | '[' TypeExp ']' | '[' TypeExp '*' id ']' | '[' ']' | '[' ':' Referent ']' TypeExp : id | '(' lambda '(' Params ')' CG ')' Param : id | id def Params : Param | Params ',' Param Referent: Literal | Quantifier | CG | Literal CG | Quantifier CG Collection: '[' Literals ']' | '\{' Literals '\}' | '(' Literals ')' | '<' Literals '>' Literals: '*' | Literal | Literal ',' Literals Literal : string | '\'' id '\'' | '#' int | '#' id | Collection Quantifier: '@' int | '@' id id is a character string int is an integer lambda is the string "lambda"