xform: accomodate tokens like "10_1"

Those show up in the Mac OS X 10.11 SDK in `availability`
annotations.

Closes PR 15154
This commit is contained in:
Matthew Flatt 2015-09-19 09:17:02 -06:00
parent 9768f632a2
commit 1ddaad8d58

View File

@ -233,6 +233,9 @@
(define IS "(?:u|U|l|L)*")
(define symbol-complex (trans (seqs L (arbno (alt L D)))))
;; Accomodate things like 10_1 in `availability` attributes:
(define pseudo-symbol-complex (trans (seqs (arbno D) "_" (arbno D))))
(define number-complex
(trans (alt*
@ -376,6 +379,11 @@
(loop (cdar m)
(cons (symbol (subbytes s (caar m) (cdar m)))
result)))]
[(regexp-match-positions pseudo-symbol-complex s p)
=> (lambda (m)
(loop (cdar m)
(cons (symbol (subbytes s (caar m) (cdar m)))
result)))]
[(regexp-match-positions number-complex s p)
=> (lambda (m)
(loop (cdar m)