locals.parser: check for valid locals names.

db4
John Benediktsson 2013-03-20 09:48:55 -07:00
parent 8d3acb68f5
commit 04a7a793d6
1 changed files with 6 additions and 1 deletions

View File

@ -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