1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 20:00:19 +02:00

peg: hygiene in cg-peg-any

* module/ice-9/peg.scm (cg-peg-any): Use cggl-syn and cggr-syn.
This commit is contained in:
Noah Lavine 2011-01-31 14:56:02 -05:00 committed by Andy Wingo
parent 6f6c7d15a2
commit febe6dadab

View file

@ -212,10 +212,10 @@
(let ((str (syntax str)) (let ((str (syntax str))
(strlen (syntax strlen)) (strlen (syntax strlen))
(at (syntax at))) (at (syntax at)))
(datum->syntax for-syntax (cggl-syn for-syntax str strlen at
(cggl for-syntax str strlen at (cggr-syn for-syntax accum
(cggr for-syntax accum 'cg-peg-any #`(substring #,str #,at (+ #,at 1))
'cg-peg-any `(substring ,str ,at (+ ,at 1)) `(+ ,at 1)))))) #`(+ #,at 1)))))
;; Generates code for matching a range of characters between start and end. ;; Generates code for matching a range of characters between start and end.
;; E.g.: (cg-range syntax #\a #\z 'body) ;; E.g.: (cg-range syntax #\a #\z 'body)