-- OneCasabaFormat.OneCasaba: February 28, 1986 5:08:25 pm PST -- Sturgis, May 6, 1986 10:53:07 am PDT AllowConflicts Begin { "{" "}" ":" "_" "." ";" "=" }: SimpleTokens; { "Begin" "End" "SimpleTokens" "GenericToken" "NonTerminal" }: SimpleTokens; Identifier: GenericToken = "tokenID"; Rope: GenericToken = "tokenROPE"; MainGoal: NonTerminal; MainGoal _ Block; Block: NonTerminal; Block.a _ "Begin" ItemSeq "End" "." ; Block.b _ "Begin" ItemSeq ";" "End" "." ; Block.c _ "Begin" ItemSeq ";" "End" "." ; ItemSeq: NonTerminal; ItemSeq.one _ Item ; ItemSeq.more _ ItemSeq ";" Item ; Item: NonTerminal; Item.simpleTkns _ "{" RopeSeq "}" ":" "SimpleTokens" ; Item.genericTkn _ Identifier ":" "GenericToken" "=" Rope ; Item.nonTerminal _ Identifier ":" "NonTerminal" ; Item.prod _ ProdName "_" RightSideSeq ; RopeSeq: NonTerminal; RopeSeq.one _ Rope ; RopeSeq.many _ RopeSeq Rope ; ProdName: NonTerminal; ProdName.one _ Identifier ; ProdName.two _ Identifier "." Identifier ; RightSideSeq: NonTerminal; RightSideSeq.emtpy _ ; RightSideSeq.nonEmpty _ RightSideSeq RightSideItem ; RightSideItem: NonTerminal; RightSideItem.simpleToken _ Rope ; RightSideItem.identifier _ Identifier ; End.