
Grammar connected by Vadim Zaytsev, see the Grammar Zoo entry for details: api/rascal/type/connected
Source used for this grammar: Jurgen J. Vinju, Type, 2009–2013 [Explore]
Symbol, Production, Attr, Exception), 1 root (Symbol), 1 top (Exception), 0 bottom (—).[int], [bool], [real], [rat], [str], [num], [node], [void], [value], [loc], [datetime], [label], [set], [rel], [lrel], [tuple], [list], [map], [bag], [adt], [cons] 2, [alias], [func] 2, [var-func], [reified], [parameter], [choice], [tag], [typeCastException].⟨name⟩ 5, ⟨symbol⟩ 5, ⟨symbols⟩ 5, ⟨from⟩ 2, ⟨to⟩ 2, ⟨parameters⟩ 5, ⟨adt⟩, ⟨aliased⟩, ⟨ret⟩ 2, ⟨varArg⟩, ⟨bound⟩, ⟨def⟩ 3, ⟨kwTypes⟩ 2, ⟨kwDefaults⟩ 2, ⟨attributes⟩ 2, ⟨alternatives⟩, ⟨tag⟩.Symbol ::= [int]::ε [bool]::ε [real]::ε [rat]::ε [str]::ε [num]::ε [node]::ε [void]::ε [value]::ε [loc]::ε [datetime]::ε
Symbol ::= [label]::⟨name⟩:string ⟨symbol⟩:Symbol
Symbol ::= [set]::⟨symbol⟩:Symbol [rel]::⟨symbols⟩:Symbol [lrel]::⟨symbols⟩:Symbol [tuple]::⟨symbols⟩:Symbol [list]::⟨symbol⟩:Symbol [map]::⟨from⟩:Symbol ⟨to⟩:Symbol [bag]::⟨symbol⟩:Symbol [adt]::⟨name⟩:string ⟨parameters⟩:Symbol [cons]::⟨adt⟩:Symbol ⟨name⟩:string ⟨parameters⟩:Symbol [alias]::⟨name⟩:string ⟨parameters⟩:Symbol ⟨aliased⟩:Symbol [func]::⟨ret⟩:Symbol ⟨parameters⟩:Symbol [var-func]::⟨ret⟩:Symbol ⟨parameters⟩:Symbol ⟨varArg⟩:Symbol [reified]::⟨symbol⟩:Symbol
Symbol ::= [parameter]::⟨name⟩:string ⟨bound⟩:Symbol
Production ::= [cons]::⟨def⟩:Symbol ⟨symbols⟩:Symbol ⟨kwTypes⟩:Symbol ⟨kwDefaults⟩:string string α ⟨attributes⟩:Attr [func]::⟨def⟩:Symbol ⟨symbols⟩:Symbol ⟨kwTypes⟩:Symbol ⟨kwDefaults⟩:string string α ⟨attributes⟩:Attr [choice]::⟨def⟩:Symbol ⟨alternatives⟩:Production
Attr ::=
[tag]::⟨tag⟩:αException ::= [typeCastException]::⟨from⟩:Symbol ⟨to⟩:φ