mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-23 20:15:05 +02:00
Experimenting with adding .meta files
This commit is contained in:
parent
54c3408c6d
commit
a82a34f964
2 changed files with 14 additions and 0 deletions
5
TODO
5
TODO
|
@ -11,6 +11,11 @@ Working TODO list. should start creating issues for these to get them out of her
|
|||
if necessary, write makefile directive to automate rebuilding cyclone for macro development
|
||||
|
||||
- macros
|
||||
* thought: if we go with meta files, the compiler can revert back
|
||||
to using compiled macros if we do not install the meta files.
|
||||
just an idea, may be a hack or not feasible. not an awful idea to
|
||||
make them optional though, with some restrictions.
|
||||
|
||||
how should eval deal with compiled macros?
|
||||
do we need a new tag type, eg: macro closure or such?
|
||||
then eval could say, if app macro, expand it and call analyze again
|
||||
|
|
|
@ -246,6 +246,7 @@
|
|||
'()))
|
||||
(exec-file (basename in-file))
|
||||
(src-file (string-append exec-file ".c"))
|
||||
(meta-file (string-append exec-file ".meta"))
|
||||
(create-c-file
|
||||
(lambda (program)
|
||||
(with-output-to-file
|
||||
|
@ -278,6 +279,14 @@
|
|||
(write comp-prog-cmd)
|
||||
(write comp-objs-cmd)))))
|
||||
(else
|
||||
;; Emit .meta file
|
||||
(with-output-to-file
|
||||
meta-file
|
||||
(lambda ()
|
||||
(display ";; This file was automatically generated by the Cyclone Scheme compiler")
|
||||
(newline)
|
||||
(write (get-macros))))
|
||||
;; Compile library
|
||||
(let ((comp-lib-cmd
|
||||
(string-append "gcc " src-file " -g -c -o " exec-file ".o")))
|
||||
(cond
|
||||
|
|
Loading…
Add table
Reference in a new issue