S{ } syntax for structs

db4
Joe Groff 2009-08-12 15:59:33 -04:00
parent ca592b9654
commit 875284f8ab
3 changed files with 11 additions and 4 deletions

View File

@ -138,12 +138,12 @@ M: pathname pprint*
boa-tuples? get [ pprint-object ] [ boa-tuples? get [ pprint-object ] [
[ [
<flow <flow
\ T{ pprint-word dup pprint-delims drop pprint-word
dup class pprint-word dup class pprint-word
t <inset t <inset
tuple>assoc [ pprint-slot-value ] assoc-each dup tuple>assoc [ pprint-slot-value ] assoc-each
block> block>
\ } pprint-word pprint-delims nip pprint-word
block> block>
] check-recursion ] check-recursion
] if ; ] if ;

View File

@ -1,5 +1,5 @@
! (c)Joe Groff bsd license ! (c)Joe Groff bsd license
USING: classes.struct kernel prettyprint.backend USING: classes.struct kernel prettyprint.backend prettyprint.custom
prettyprint.sections see.private sequences words ; prettyprint.sections see.private sequences words ;
IN: classes.struct.prettyprint IN: classes.struct.prettyprint
@ -8,3 +8,6 @@ M: struct-class see-class*
<block "struct-slots" word-prop [ pprint-slot ] each <block "struct-slots" word-prop [ pprint-slot ] each
block> pprint-; block> ; block> pprint-; block> ;
M: struct pprint-delims
drop \ S{ \ } ;

View File

@ -160,3 +160,7 @@ SYNTAX: STRUCT:
USING: vocabs vocabs.loader ; USING: vocabs vocabs.loader ;
"prettyprint" vocab [ "classes.struct.prettyprint" require ] when "prettyprint" vocab [ "classes.struct.prettyprint" require ] when
SYNTAX: S{
POSTPONE: T{ ;