Lauri's patch to syntax pattern match on vectors

svn: r2418
This commit is contained in:
Matthew Flatt 2006-03-12 16:16:07 +00:00
parent dbed916752
commit 7b968839e8
3 changed files with 1458 additions and 1456 deletions

File diff suppressed because it is too large Load Diff

View File

@ -913,8 +913,9 @@
"(if(stx-vector? e ,len)" "(if(stx-vector? e ,len)"
" ,body" " ,body"
" #f))" " #f))"
" did-var?)" " did-var?"
"(let-values(((match-elem elem-did-var? <false>>) " " #f)"
"(let-values(((match-elem elem-did-var? <false>) "
"(let((e(vector-ref(syntax-e p)(sub1 pos))))" "(let((e(vector-ref(syntax-e p)(sub1 pos))))"
"(m&e e e use-ellipses?(not did-var?) #f))))" "(m&e e e use-ellipses?(not did-var?) #f))))"
"(loop(sub1 pos)" "(loop(sub1 pos)"

View File

@ -1098,8 +1098,9 @@
(if (stx-vector? e ,len) (if (stx-vector? e ,len)
,body ,body
#f)) #f))
did-var?) did-var?
(let-values ([(match-elem elem-did-var? <false>>) #f)
(let-values ([(match-elem elem-did-var? <false>)
(let ([e (vector-ref (syntax-e p) (sub1 pos))]) (let ([e (vector-ref (syntax-e p) (sub1 pos))])
(m&e e e use-ellipses? (not did-var?) #f))]) (m&e e e use-ellipses? (not did-var?) #f))])
(loop (sub1 pos) (loop (sub1 pos)