mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-19 13:49:16 +02:00
Self-hosted version compiles now, but is very broken...
This commit is contained in:
parent
a6da96ba57
commit
f63df9fd12
8 changed files with 26 additions and 11 deletions
11
Makefile
11
Makefile
|
@ -21,9 +21,15 @@ scheme/read.o: cyclone scheme/read.sld parser.scm
|
||||||
scheme/write.o: cyclone scheme/write.sld
|
scheme/write.o: cyclone scheme/write.sld
|
||||||
./cyclone scheme/write.sld
|
./cyclone scheme/write.sld
|
||||||
|
|
||||||
|
scheme/cyclone/common.o: scheme/cyclone/common.sld
|
||||||
|
./cyclone scheme/cyclone/common.sld
|
||||||
|
|
||||||
scheme/cyclone/util.o: scheme/cyclone/util.sld
|
scheme/cyclone/util.o: scheme/cyclone/util.sld
|
||||||
./cyclone scheme/cyclone/util.sld
|
./cyclone scheme/cyclone/util.sld
|
||||||
|
|
||||||
|
common.so: scheme/cyclone/common.scm
|
||||||
|
csc -s scheme/cyclone/common.scm
|
||||||
|
|
||||||
util.so: util.scm
|
util.so: util.scm
|
||||||
csc -s util.scm
|
csc -s util.scm
|
||||||
|
|
||||||
|
@ -59,12 +65,13 @@ debug:
|
||||||
debug2: libcyclone.so.1
|
debug2: libcyclone.so.1
|
||||||
gcc test.c -L. -lcyclone -I. -g -o test
|
gcc test.c -L. -lcyclone -I. -g -o test
|
||||||
|
|
||||||
cyclone: cyclone.scm transforms.so util.so cgen.so libraries.so parser.so libcyclone.a
|
cyclone: cyclone.scm transforms.so util.so cgen.so libraries.so parser.so common.so libcyclone.a
|
||||||
csc cyclone.scm
|
csc cyclone.scm
|
||||||
|
|
||||||
#scheme/cyclone/util.o: cyclone scheme/cyclone/util.sld
|
#scheme/cyclone/util.o: cyclone scheme/cyclone/util.sld
|
||||||
.PHONY: self
|
.PHONY: self
|
||||||
self:
|
self:
|
||||||
|
./cyclone scheme/cyclone/common.sld
|
||||||
./cyclone scheme/cyclone/libraries.sld
|
./cyclone scheme/cyclone/libraries.sld
|
||||||
./cyclone scheme/cyclone/transforms.sld
|
./cyclone scheme/cyclone/transforms.sld
|
||||||
./cyclone scheme/cyclone/cgen.sld
|
./cyclone scheme/cyclone/cgen.sld
|
||||||
|
@ -96,7 +103,7 @@ test2: examples/hello-library/int-test/hello.c libcyclone.a
|
||||||
## END temporary directives
|
## END temporary directives
|
||||||
###########################
|
###########################
|
||||||
|
|
||||||
icyc: cyclone icyc.scm eval.scm libraries.scm parser.scm runtime.h scheme/base.o scheme/read.o scheme/write.o scheme/char.o scheme/eval.o scheme/file.o scheme/cyclone/util.o
|
icyc: cyclone icyc.scm eval.scm libraries.scm parser.scm runtime.h scheme/base.o scheme/read.o scheme/write.o scheme/char.o scheme/eval.o scheme/file.o scheme/cyclone/util.o scheme/cyclone/common.o
|
||||||
./cyclone icyc.scm
|
./cyclone icyc.scm
|
||||||
|
|
||||||
.PHONY: tags
|
.PHONY: tags
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
; (scheme file)
|
; (scheme file)
|
||||||
; (scheme read)
|
; (scheme read)
|
||||||
; (scheme write)
|
; (scheme write)
|
||||||
|
; (scheme cyclone common)
|
||||||
; (scheme cyclone util)
|
; (scheme cyclone util)
|
||||||
; (scheme cyclone cgen)
|
; (scheme cyclone cgen)
|
||||||
; (scheme cyclone transforms)
|
; (scheme cyclone transforms)
|
||||||
|
@ -26,6 +27,7 @@
|
||||||
(require-extension extras) ;; pretty-print
|
(require-extension extras) ;; pretty-print
|
||||||
(require-extension chicken-syntax) ;; when
|
(require-extension chicken-syntax) ;; when
|
||||||
(require-extension srfi-1) ;; every
|
(require-extension srfi-1) ;; every
|
||||||
|
(load (string-append (cyc:get-lib-dir) "scheme/cyclone/common.so"))
|
||||||
(load (string-append (cyc:get-lib-dir) "parser.so"))
|
(load (string-append (cyc:get-lib-dir) "parser.so"))
|
||||||
(load (string-append (cyc:get-lib-dir) "util.so"))
|
(load (string-append (cyc:get-lib-dir) "util.so"))
|
||||||
(load (string-append (cyc:get-lib-dir) "libraries.so"))
|
(load (string-append (cyc:get-lib-dir) "libraries.so"))
|
||||||
|
|
3
icyc.scm
3
icyc.scm
|
@ -4,7 +4,8 @@
|
||||||
;;
|
;;
|
||||||
;; This module contains a simple Read-Eval-Print Loop
|
;; This module contains a simple Read-Eval-Print Loop
|
||||||
;;
|
;;
|
||||||
(import (scheme base)
|
(import (scheme cyclone common)
|
||||||
|
(scheme base)
|
||||||
(scheme char)
|
(scheme char)
|
||||||
(scheme read)
|
(scheme read)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
(define-library (scheme base)
|
(define-library (scheme base)
|
||||||
(export
|
(export
|
||||||
*Cyc-version-banner*
|
|
||||||
*c-file-header-comment*
|
|
||||||
*version-banner*
|
|
||||||
; TODO: need filter for the next two. also, they really belong in SRFI-1, not here
|
; TODO: need filter for the next two. also, they really belong in SRFI-1, not here
|
||||||
;delete
|
;delete
|
||||||
;delete-duplicates
|
;delete-duplicates
|
||||||
|
@ -72,9 +69,7 @@
|
||||||
newline
|
newline
|
||||||
write-char
|
write-char
|
||||||
)
|
)
|
||||||
(include "common.scm")
|
|
||||||
(begin
|
(begin
|
||||||
(define *Cyc-version-banner* *version-banner*)
|
|
||||||
;; TODO: The whitespace characters are space, tab, line feed, form feed (not in parser yet), and carriage return.
|
;; TODO: The whitespace characters are space, tab, line feed, form feed (not in parser yet), and carriage return.
|
||||||
(define call-with-current-continuation call/cc)
|
(define call-with-current-continuation call/cc)
|
||||||
;; TODO: this is from r7rs, but is not really good enough by itself
|
;; TODO: this is from r7rs, but is not really good enough by itself
|
||||||
|
|
10
scheme/cyclone/common.sld
Normal file
10
scheme/cyclone/common.sld
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
(define-library (scheme cyclone common)
|
||||||
|
(export
|
||||||
|
*Cyc-version-banner*
|
||||||
|
*version*
|
||||||
|
*version-banner*
|
||||||
|
*c-file-header-comment*
|
||||||
|
*features*)
|
||||||
|
(include "common.scm")
|
||||||
|
(begin
|
||||||
|
(define *Cyc-version-banner* *version-banner*)))
|
|
@ -5,6 +5,7 @@
|
||||||
(scheme eval)
|
(scheme eval)
|
||||||
(scheme read)
|
(scheme read)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
|
(scheme cyclone common)
|
||||||
(scheme cyclone util)
|
(scheme cyclone util)
|
||||||
(scheme cyclone libraries)
|
(scheme cyclone libraries)
|
||||||
)
|
)
|
||||||
|
@ -117,6 +118,5 @@
|
||||||
pos-in-list
|
pos-in-list
|
||||||
closure-convert
|
closure-convert
|
||||||
)
|
)
|
||||||
(include "../common.scm")
|
|
||||||
(include "../../transforms.scm"))
|
(include "../../transforms.scm"))
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(cond-expand
|
(cond-expand
|
||||||
(chicken
|
; (chicken
|
||||||
(load (string-append (cyc:get-lib-dir) "scheme/common.scm")))
|
; (load (string-append (cyc:get-lib-dir) "scheme/common.scm")))
|
||||||
(cyclone
|
(cyclone
|
||||||
;; Temporary work-around for pp not being implemented yet
|
;; Temporary work-around for pp not being implemented yet
|
||||||
(define pretty-print write))
|
(define pretty-print write))
|
||||||
|
|
Loading…
Add table
Reference in a new issue