node node-input-infos :> infos
infos test call
[ infos quot call ]
- [ node emit-primitive ] if ;
+ [ node emit-primitive ] if ; inline
: inline-alien-getter? ( infos -- ? )
[ first class>> c-ptr class<= ]
drop \r
] [ \r
[\r
- "FROM: locals => [let ; FROM: sequences => nth ; [let " %\r
+ "FROM: locals => [let :> ; FROM: sequences => nth ; [let " %\r
dup length [\r
over ebnf-var? [\r
" " % # " over nth :> " %\r
\r
M: ebnf-var build-locals ( code ast -- )\r
[\r
- "FROM: locals => [let ; FROM: kernel => dup nip ; [let " %\r
+ "FROM: locals => [let :> ; FROM: kernel => dup nip ; [let " %\r
" dup :> " % name>> %\r
" " %\r
% \r
ERROR: parse-failed input word ;
SYNTAX: PEG:
- (:) :> effect :> def :> word
- [
- [
- def call compile :> compiled-def
+ [let
+ (:) :> effect :> def :> word
[
- dup compiled-def compiled-parse
- [ ast>> ] [ word parse-failed ] ?if
- ]
- word swap effect define-declared
- ] with-compilation-unit
- ] over push-all ;
+ [
+ def call compile :> compiled-def
+ [
+ dup compiled-def compiled-parse
+ [ ast>> ] [ word parse-failed ] ?if
+ ]
+ word swap effect define-declared
+ ] with-compilation-unit
+ ] over push-all
+ ] ;
USING: vocabs vocabs.loader ;
\ load-local [ infer-load-local ] "special" set-word-prop
-: infer-get-local ( -- )
+:: infer-get-local ( -- )
pop-literal nip 1 swap - :> n
n consume-r :> in-r
in-r first copy-value 1array :> out-d