KangarooIceberg ::= {TopLevelNode}. TopLevelNode ::= NodeName NodeLit. NodeLit ::= "{" {ArcDefn} ["/" RuleSets] "}". ArcDefn ::= NodeRef ":" WeightDefn. NodeRef ::= NodeLit | "^" NodeName | NodeName NodeLit. WeightDefn ::= <>. RuleSets ::= RuleSet {";" RuleSet}. RuleSet ::= Rule {"," Rule}. Rule ::= {ArcApp} "->" {ArcApp}. ArcApp ::= NodeApp ":" WeightApp. NodeApp ::= NodeRefn | Var. WieghtApp ::= WeightDefn | Var. Var ::= "$" Name.