Print results individually, on separate lines, rather than as a list.
This commit is contained in:
parent
c1ac1323bf
commit
88ebc7ca77
2
Makefile
2
Makefile
|
|
@ -12,7 +12,7 @@ endif
|
|||
all: rosella
|
||||
.PHONY: all clean
|
||||
|
||||
ifneq ($(PROFILE),no)
|
||||
ifeq ($(PROFILE),yes)
|
||||
CFLAGS += -fprofile-generate
|
||||
LDFLAGS += -fprofile-generate
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
#S(#="lambda"
|
||||
#(
|
||||
#S(#="template"
|
||||
#S(#="template" ; g1
|
||||
#(
|
||||
#0=#S(#="lambda"
|
||||
#0=#S(#="lambda" ; g1
|
||||
#(
|
||||
#S(#="lambda"
|
||||
#(1 #f)
|
||||
#()
|
||||
1
|
||||
#S(#="lambda" ; g1
|
||||
#(1 #f) ; g1 g2
|
||||
#1=#()
|
||||
1 ; f0
|
||||
"\x02\x80\x01\x00"; (set! f0 (cons g1 nil))
|
||||
0xfe
|
||||
0x80
|
||||
0x02
|
||||
0xff
|
||||
0xfe ; k
|
||||
0x80 ; f0
|
||||
0x02 ; g2 (#f)
|
||||
0xff ; ctx
|
||||
)
|
||||
#S(#="template"
|
||||
#(
|
||||
#=0
|
||||
#S(#="template"
|
||||
#=0 ; g1
|
||||
#S(#="template" ; g2
|
||||
#(#f)
|
||||
"\x40\xff\xfe" ; i0 ctx k
|
||||
1
|
||||
|
|
@ -29,49 +29,48 @@
|
|||
0x01 ; g1
|
||||
0x41 ; i1
|
||||
)
|
||||
1
|
||||
1 ; g3
|
||||
)
|
||||
"\x80" ; f0
|
||||
2
|
||||
2 ; f0-f1
|
||||
"\x09\x80\x40\x03\; (set! f0 (fix- i0 g3))
|
||||
\x02\x80\x80\x00\; (set! f0 (cons f0 nil))
|
||||
\x00\x81\x1b\x02"; (set! f1 (lambda g2))
|
||||
0x01
|
||||
0x80
|
||||
0x81
|
||||
0xff
|
||||
0x01 ; g1
|
||||
0x80 ; f0
|
||||
0x81 ; f1
|
||||
0xff ; ctx
|
||||
)
|
||||
1
|
||||
1 ; g3
|
||||
)
|
||||
#()
|
||||
#=1 ; #()
|
||||
2
|
||||
"\x00\x80\x03\xfd\; (set! f0 (car argv))
|
||||
\x0d\x81\x80\x03\; (set! f1 (fix< f0 g3))
|
||||
\x81\x81\x01\x02\; (set! f1 (if f1 g1 g2))
|
||||
\x00\x81\x1b\x81"; (set! f1 (lambda f1))
|
||||
0x81
|
||||
0x00
|
||||
0xfe
|
||||
0xff
|
||||
0x81 ; f1
|
||||
0x00 ; nil
|
||||
0xfe ; k
|
||||
0xff ; ctx
|
||||
)
|
||||
#f
|
||||
)
|
||||
"\xfe\xff" ; k ctx
|
||||
0
|
||||
""
|
||||
0x01
|
||||
0xfd
|
||||
0x40
|
||||
0x41
|
||||
0x01 ; f1
|
||||
0xfd ; argv
|
||||
0x40 ; i0
|
||||
0x41 ; i1
|
||||
)
|
||||
#="string->number"
|
||||
#="string->number" ; g2
|
||||
)
|
||||
#()
|
||||
1
|
||||
#=1 ; #()
|
||||
1 ; f0
|
||||
"\x00\x80\x1b\x01"; (set! f0 (lambda g1))
|
||||
0x02
|
||||
0xfd
|
||||
0x80
|
||||
0xff
|
||||
0x02 ; g2
|
||||
0xfd ; argv
|
||||
0x80 ; f0
|
||||
0xff ; ctx
|
||||
)
|
||||
; vim:set syntax= sw=2 expandtab:
|
||||
|
|
|
|||
11
rosella.c
11
rosella.c
|
|
@ -51,6 +51,7 @@ int main(int argc, char **argv)
|
|||
{
|
||||
gc_root_t argv_root;
|
||||
value_t program;
|
||||
value_t results;
|
||||
|
||||
register_gc_root(&argv_root, NIL);
|
||||
|
||||
|
|
@ -62,10 +63,16 @@ int main(int argc, char **argv)
|
|||
}
|
||||
|
||||
program = read_value(f);
|
||||
print_value(run_interpreter(program, argv_root.value));
|
||||
nl();
|
||||
fclose(f);
|
||||
|
||||
unregister_gc_root(&argv_root);
|
||||
results = run_interpreter(program, argv_root.value);
|
||||
|
||||
for (value_t result = results; !is_nil(result); result = _CDR(result))
|
||||
{
|
||||
print_value(CAR(result));
|
||||
nl();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue