module languages/ansi-c/syntax/Declarators[D I] exports sorts Pointer Expression Parameters context-free syntax Pointer D -> D {non-assoc} I -> D "(" D ")" -> D {bracket} D "[" Expression? "]" -> D D "(" Parameters? ")" -> D context-free priorities { D "(" Parameters? ")" -> D D "[" Expression? "]" -> D } > Pointer D -> D