Commit graph

200 commits

Author SHA1 Message Date
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