locals.parser: check for valid locals names.
parent
8d3acb68f5
commit
04a7a793d6
|
@ -11,8 +11,13 @@ SYMBOL: in-lambda?
|
|||
: ?rewrite-closures ( form -- form' )
|
||||
in-lambda? get [ 1array ] [ rewrite-closures ] if ;
|
||||
|
||||
ERROR: invalid-local-name name ;
|
||||
|
||||
: check-local-name ( name -- name )
|
||||
dup { "]" "]!" } member? [ invalid-local-name ] when ;
|
||||
|
||||
: make-local ( name -- word )
|
||||
"!" ?tail [
|
||||
check-local-name "!" ?tail [
|
||||
<local-reader>
|
||||
dup <local-writer> dup name>> ,,
|
||||
] [ <local> ] if
|
||||
|
|
Loading…
Reference in New Issue