From 990b24b2541e375357b49a22c414776f75e5aeca Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Fri, 18 Feb 2011 10:42:13 +0100 Subject: [PATCH] peg: cg-string improvement * module/ice-9/peg.scm (cg-string): Use the more efficient string= with range args, rather than string=? and substring. --- module/ice-9/peg.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/module/ice-9/peg.scm b/module/ice-9/peg.scm index 9a7873254..9735d6628 100644 --- a/module/ice-9/peg.scm +++ b/module/ice-9/peg.scm @@ -144,8 +144,7 @@ return EXP." (define (cg-string for-syntax match accum) (let ((len (string-length match))) (cggl for-syntax #'str #'strlen #'at - #`(if (string=? (substring str at (min (+ at #,len) strlen)) - #,match) + #`(if (string= str #,match at (min (+ at #,len) strlen)) #,(cggr for-syntax accum 'cg-string match #`(+ at #,len)) #f))))