locals.parser: move parse-binding to functors.
parent
1aeae66370
commit
51bafaeda4
|
@ -141,6 +141,12 @@ DEFER: ;FUNCTOR delimiter
|
||||||
|
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
|
: parse-binding ( end -- pair/f )
|
||||||
|
scan-token {
|
||||||
|
{ [ 2dup = ] [ 2drop f ] }
|
||||||
|
[ nip scan-object 2array ]
|
||||||
|
} cond ;
|
||||||
|
|
||||||
: (parse-bindings) ( end -- words )
|
: (parse-bindings) ( end -- words )
|
||||||
[ dup parse-binding dup ]
|
[ dup parse-binding dup ]
|
||||||
[ first2 [ make-local ] dip 2array ]
|
[ first2 [ make-local ] dip 2array ]
|
||||||
|
|
|
@ -62,12 +62,6 @@ SINGLETON: lambda-parser
|
||||||
M: lambda-parser parse-quotation ( -- quotation )
|
M: lambda-parser parse-quotation ( -- quotation )
|
||||||
H{ } clone (parse-lambda) ;
|
H{ } clone (parse-lambda) ;
|
||||||
|
|
||||||
: parse-binding ( end -- pair/f )
|
|
||||||
scan-token {
|
|
||||||
{ [ 2dup = ] [ 2drop f ] }
|
|
||||||
[ nip scan-object 2array ]
|
|
||||||
} cond ;
|
|
||||||
|
|
||||||
: parse-let ( -- form )
|
: parse-let ( -- form )
|
||||||
H{ } clone (parse-lambda) <let> ?rewrite-closures ;
|
H{ } clone (parse-lambda) <let> ?rewrite-closures ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue