blob: c12fe648cb91b390de3013bc1c6286a356c880f5 [file] [log] [blame] [edit]
;;
;; Auxiliary definitions used for describing Syntax notation
;;
;; Syntax notation
syntax A hint(macro none) = nat
syntax B hint(macro none) = nat
syntax sym hint(macro none) = _FIRST A_1 | _DOTS hint(show `...) | _LAST A_n
syntax symsplit/1 hint(show sym) hint(macro none) = _FIRST A_1 | ...
syntax symsplit/2 hint(show sym) hint(macro none) = ... | _LAST A_2
syntax recorddots hint(show !%) = ()
syntax record hint(show r) hint(macro none none) =
{ FIELD_1 A_1 hint(show FIELD_ 1), \
FIELD_2 A_2 hint(show FIELD_ 2), \
`... recorddots }
syntax pth hint(macro none) = PTHSYNTAX hint(show (`[i] `| !%.FIELD)+)