Pārlūkot izejas kodu

Move example program generation to its own file

This makes it possible to `(load "compiler.scm")` without getting some
semi-random assembler printed at startup
Lucas Stadler 8 gadi atpakaļ
vecāks
revīzija
30da03aeeb
3 mainītis faili ar 5 papildinājumiem un 4 dzēšanām
  1. 2 2
      scm/inc/Makefile
  2. 0 2
      scm/inc/compiler.scm
  3. 3 0
      scm/inc/program.scm

+ 2 - 2
scm/inc/Makefile

13
asm: scheme.s
13
asm: scheme.s
14
	cat scheme.s
14
	cat scheme.s
15
15
16
scheme.s: compiler.scm
17
	petite --script compiler.scm > $@
16
scheme.s: compiler.scm program.scm
17
	petite --script program.scm > $@
18
18
19
integers.s: integers.c
19
integers.s: integers.c
20
	gcc -O3 --omit-frame-pointer -S $<
20
	gcc -O3 --omit-frame-pointer -S $<

+ 0 - 2
scm/inc/compiler.scm

84
84
85
  (emit-expr x)
85
  (emit-expr x)
86
  (emit "ret"))
86
  (emit "ret"))
87
88
(compile-program '(null? ()))

+ 3 - 0
scm/inc/program.scm

1
(load "compiler.scm")
2
3
(compile-program '(null? 0))