alien.c-types: c-type no longer calls parser at runtime, tools.deploy.shaker now strips out runtime specialized array code generation

db4
Slava Pestov 2009-10-16 23:50:17 -05:00
parent 4ed91ff5ee
commit 5afce2cc9e
4 changed files with 22 additions and 1 deletions

View File

@ -81,9 +81,13 @@ M: string resolve-pointer-type
dup void? [ no-c-type ] when
dup c-type-name? [ c-type ] when ;
<PRIVATE
: parse-array-type ( name -- dims c-type )
"[" split unclip
[ [ "]" ?tail drop parse-word ] map ] dip ;
[ [ "]" ?tail drop string>number ] map ] dip ;
PRIVATE>
M: string c-type ( name -- c-type )
CHAR: ] over member? [

View File

@ -10,6 +10,10 @@ IN: alien.parser
: parse-c-type-name ( name -- word )
dup search [ ] [ no-word ] ?if ;
: parse-array-type ( name -- dims c-type )
"[" split unclip
[ [ "]" ?tail drop parse-word ] map ] dip ;
: (parse-c-type) ( string -- type )
{
{ [ dup "void" = ] [ drop void ] }

View File

@ -85,6 +85,13 @@ IN: tools.deploy.shaker
run-file
] when ;
: strip-specialized-arrays ( -- )
strip-dictionary? "specialized-arrays" vocab and [
"Stripping specialized arrays" show
"vocab:tools/deploy/shaker/strip-specialized-arrays.factor"
run-file
] when ;
: strip-word-names ( words -- )
"Stripping word names" show
[ f >>name f >>vocabulary drop ] each ;
@ -503,6 +510,7 @@ SYMBOL: deploy-vocab
strip-call
strip-cocoa
strip-debugger
strip-specialized-arrays
compute-next-methods
strip-init-hooks
add-command-line-hook

View File

@ -0,0 +1,5 @@
IN: specialized-arrays
ERROR: cannot-define-array-in-deployed-app type ;
: define-array-vocab ( type -- ) cannot-define-array-in-deployed-app ;