factor/basis/compiler/cfg/builder/builder-tests.factor

42 lines
981 B
Factor
Raw Normal View History

2008-08-11 03:49:37 -04:00
IN: compiler.cfg.builder.tests
2008-09-11 03:05:22 -04:00
USING: tools.test kernel sequences
words sequences.private fry prettyprint alien
2008-09-10 23:11:03 -04:00
math.private compiler.tree.builder compiler.tree.optimizer
2008-09-11 03:05:22 -04:00
compiler.cfg.builder compiler.cfg.debugger ;
2008-08-11 03:49:37 -04:00
2008-10-20 02:56:28 -04:00
\ build-cfg must-infer
2008-09-10 23:11:03 -04:00
! Just ensure that various CFGs build correctly.
{
[ ]
[ dup ]
[ swap ]
[ >r r> ]
[ fixnum+ ]
[ fixnum< ]
[ [ 1 ] [ 2 ] if ]
[ fixnum< [ 1 ] [ 2 ] if ]
[ float+ [ 2.0 float* ] [ 3.0 float* ] bi float/f ]
[ { [ 1 ] [ 2 ] [ 3 ] } dispatch ]
[ [ t ] loop ]
[ [ dup ] loop ]
[ [ 2 ] [ 3 throw ] if 4 ]
[ "int" f "malloc" { "int" } alien-invoke ]
[ "int" { "int" } "cdecl" alien-indirect ]
[ "int" { "int" } "cdecl" [ ] alien-callback ]
} [
'[ _ test-cfg drop ] [ ] swap unit-test
] each
: test-1 ( -- ) test-1 ;
: test-2 ( -- ) 3 . test-2 ;
: test-3 ( a -- b ) dup [ test-3 ] when ;
{
test-1
test-2
test-3
} [
2008-09-11 03:05:22 -04:00
'[ _ test-cfg drop ] [ ] swap unit-test
2008-09-10 23:11:03 -04:00
] each