fjsc: remove unnecessary stack effects on generic words.
parent
385c5edf1a
commit
95b695d664
|
@ -304,36 +304,36 @@ M: ast-using (compile)
|
||||||
|
|
||||||
GENERIC: (parse-factor-quotation) ( object -- ast )
|
GENERIC: (parse-factor-quotation) ( object -- ast )
|
||||||
|
|
||||||
M: number (parse-factor-quotation) ( object -- ast )
|
M: number (parse-factor-quotation)
|
||||||
ast-number boa ;
|
ast-number boa ;
|
||||||
|
|
||||||
M: symbol (parse-factor-quotation) ( object -- ast )
|
M: symbol (parse-factor-quotation)
|
||||||
[ >string ] [ vocabulary>> ] bi ast-identifier boa ;
|
[ >string ] [ vocabulary>> ] bi ast-identifier boa ;
|
||||||
|
|
||||||
M: word (parse-factor-quotation) ( object -- ast )
|
M: word (parse-factor-quotation)
|
||||||
[ name>> ] [ vocabulary>> ] bi ast-identifier boa ;
|
[ name>> ] [ vocabulary>> ] bi ast-identifier boa ;
|
||||||
|
|
||||||
M: string (parse-factor-quotation) ( object -- ast )
|
M: string (parse-factor-quotation)
|
||||||
ast-string boa ;
|
ast-string boa ;
|
||||||
|
|
||||||
M: quotation (parse-factor-quotation) ( object -- ast )
|
M: quotation (parse-factor-quotation)
|
||||||
[ (parse-factor-quotation) ] { } map-as ast-quotation boa ;
|
[ (parse-factor-quotation) ] { } map-as ast-quotation boa ;
|
||||||
|
|
||||||
M: array (parse-factor-quotation) ( object -- ast )
|
M: array (parse-factor-quotation)
|
||||||
[ (parse-factor-quotation) ] { } map-as ast-array boa ;
|
[ (parse-factor-quotation) ] { } map-as ast-array boa ;
|
||||||
|
|
||||||
M: hashtable (parse-factor-quotation) ( object -- ast )
|
M: hashtable (parse-factor-quotation)
|
||||||
>alist [ (parse-factor-quotation) ] { } map-as ast-hashtable boa ;
|
>alist [ (parse-factor-quotation) ] { } map-as ast-hashtable boa ;
|
||||||
|
|
||||||
M: wrapper (parse-factor-quotation) ( object -- ast )
|
M: wrapper (parse-factor-quotation)
|
||||||
wrapped>> [ name>> ] [ vocabulary>> ] bi ast-word boa ;
|
wrapped>> [ name>> ] [ vocabulary>> ] bi ast-word boa ;
|
||||||
|
|
||||||
GENERIC: fjsc-parse ( object -- ast )
|
GENERIC: fjsc-parse ( object -- ast )
|
||||||
|
|
||||||
M: string fjsc-parse ( object -- ast )
|
M: string fjsc-parse
|
||||||
expression-parser parse ;
|
expression-parser parse ;
|
||||||
|
|
||||||
M: quotation fjsc-parse ( object -- ast )
|
M: quotation fjsc-parse
|
||||||
[ (parse-factor-quotation) ] { } map-as ast-expression boa ;
|
[ (parse-factor-quotation) ] { } map-as ast-expression boa ;
|
||||||
|
|
||||||
: fjsc-compile ( ast -- string )
|
: fjsc-compile ( ast -- string )
|
||||||
|
|
Loading…
Reference in New Issue