Justin Ethier
9b7a5e3cfe
Explicitly check for a (define) form
2017-04-19 00:25:47 +00:00
Justin Ethier
9f26868ef0
Exclude lib init from inlinable top level funcs
2017-04-18 12:51:30 +00:00
Justin Ethier
d27b55d27b
Allow scheme inlines through, though C comp fails
2017-04-18 09:54:13 +00:00
Justin Ethier
547d1e218d
Re-enable inline searching code
2017-04-18 09:02:44 +00:00
Justin Ethier
124c137987
WIP
2017-04-18 07:47:32 +00:00
Justin Ethier
f1d5bb6f83
Find inlinable scheme functions
2017-04-18 05:55:00 +00:00
Justin Ethier
b607f9a420
WIP: (inlinable-top-level-function? expr)
2017-04-18 19:03:31 -04:00
Justin Ethier
c94dcf7be2
Fix compilation
2017-04-04 05:47:20 +00:00
Justin Ethier
298338586a
WIP - register inlinable Scheme functions
2017-04-04 19:02:24 -04:00
Justin Ethier
a93c1e8cde
Added so generation and dl lib
2017-03-23 04:47:47 -04:00
Justin Ethier
afcc5eaecd
WIP
2017-03-23 00:21:16 -04:00
Justin Ethier
bf2643ce3d
Added prim-convert
2017-03-21 11:15:53 +00:00
Justin Ethier
78c253e1c3
Issue #185 - Allow export of another lib's export
2017-03-20 17:01:25 +00:00
Justin Ethier
ff07229be1
Issue #185 - Identify pass thru exports
...
That is, exports that are not defined in a library, but are just "pass throughs" from other libraries imported by the library being compiled.
2017-03-20 14:02:15 +00:00
Justin Ethier
da0899b3e6
CC commands, not directories
2017-02-07 20:39:00 +00:00
Justin Ethier
ff94b013ab
Issue #153 - Added -CP -CE -CL command options
2017-02-07 20:34:42 +00:00
Justin Ethier
91c8171c93
WIP - cond-expand library declarations
2017-02-04 17:54:55 -05:00
Justin Ethier
c8c8ad6e3f
Refactoring and TODO
2017-02-03 23:46:06 +00:00
Justin Ethier
eef7892d14
Added (base-expander)
2017-02-04 00:10:20 -05:00
Justin Ethier
d57f55f406
Allow a program to use cond-expand for imports
2017-02-02 18:29:09 -05:00
Justin Ethier
3fe1dca790
Relocate imports for lib:get-all-import-deps
...
Read program imports earlier to also handle lib-deps
2017-02-02 17:28:26 -05:00
Justin Ethier
5303c0cf6c
Added TODO
2017-02-03 04:32:18 -05:00
Justin Ethier
ca3074e6bc
Issue #154 - Handle many top-level prog imports
2017-02-03 00:51:03 -05:00
Justin Ethier
ca048d5538
Add new command line options
2017-02-01 16:56:30 -05:00
Justin Ethier
cc0aefd3f2
Issue #165 - Handle includes as well
2017-02-02 02:03:28 -05:00
Justin Ethier
17d819a399
Issue #165 - -A
and -I
options
2017-02-02 00:10:54 -05:00
Justin Ethier
379cac7ac3
WIP: allowing append/prepend library paths
2017-01-31 18:50:40 -05:00
Justin Ethier
130274588c
Append/prepend dirs for .o files
2017-01-31 18:16:56 -05:00
Justin Ethier
7b927d8b35
Added collect-opt-values
2017-01-31 17:03:28 -05:00
Justin Ethier
66993ebce5
Issue #43 - Add -O0
to disable optimizations
...
This is the first step to being able to specify optimization level from the command line. This will be more important as more optimizations are added and when (if) some of them are not always safe to apply.
2016-11-11 17:19:04 -05:00
Justin Ethier
001e1e4493
Append code in same order as the library's includes
2016-10-12 22:36:01 -04:00
Justin Ethier
7b441dcfcf
Change rename env to a local instead of a global
2016-09-21 17:25:36 -04:00
Justin Ethier
796d5f9e0a
Get macros to work by adding a rename env
...
Each macro will use its own use environment to rename macros, but a common environment will be used by all macro expansions (and after the last expansion) to map any renamed free variables back to the expected symbol.
2016-09-20 17:32:26 -04:00
Justin Ethier
d2019bb284
WIP
2016-09-16 19:19:25 -04:00
Justin Ethier
c1451e26ae
Externalize gcc commands
2016-07-29 17:56:28 -04:00
Justin Ethier
089a64d290
Replace (macro?) with (Cyc-macro?)
2016-07-14 22:29:58 -04:00
Justin Ethier
a6c3e4818a
Prevent segfault if invalid args are given.
2016-06-30 21:44:03 -04:00
Justin Ethier
308bba3c9b
Removed dead code, consolidated comments
2016-05-19 23:33:39 -04:00
Justin Ethier
cfc875f01f
Interface to new cps optimizations
2016-05-17 00:33:42 -04:00
Justin Ethier
dad7a459ce
Fixup module renaming
2016-05-16 23:41:23 -04:00
Justin Ethier
741e32822b
Changed module name
2016-05-16 20:29:29 -04:00
Justin Ethier
5d0e952c7c
Testing analysis code
2016-05-11 22:48:22 -04:00
Justin Ethier
d36f9be25b
WIP
2016-05-11 22:18:28 -04:00
Justin Ethier
18b81a75af
Wrap AST lambda bodies in a list
2016-05-07 03:09:43 -04:00
Justin Ethier
a86a8262fa
WIP - use AST to store lambdas after CPS convert
2016-05-06 00:24:57 -04:00
Justin Ethier
a7198b425b
Removed dead code
2016-05-03 04:18:12 -04:00
Justin Ethier
8437d4e137
Issue #40 - Allow splicing of library begin defs
...
Allow definitions contained in a top-level define to be spliced into the same scope as the define. There is also a performance hack to force compiled macros when compiling (scheme base). That code may need to be revisited, although perhaps not because the only compiled macros are the ones that are provided directly by cyclone. User code will not contain them.
2016-05-02 23:47:50 -04:00
Justin Ethier
27e2b8dc3f
DEBUG code for library splicing
2016-04-30 04:13:55 -04:00
Justin Ethier
76a3778dda
Improve formatting of "-d" output
2016-04-27 21:09:08 -04:00
Justin Ethier
1fddf8272a
Allow including C headers in a program
2016-04-27 00:18:09 -04:00