79d08c809a
Ensure HELP and USAGE are initialized when running CLI program
2024-09-06 12:18:28 -04:00
e0356e07c6
Uhhhh, apparently clang treats ??? as a trigraph unless you specify some
...
compiler flags.
2024-09-06 00:28:03 -04:00
df61a0805f
Correctly resolve '../' paths
2024-09-05 15:47:00 -04:00
391c1b6bde
Rename table_t -> Table_t
2024-09-05 14:57:31 -04:00
a8be9efcd3
Rework CLI compilation so that all of the argument parsing is written to
...
the .tm.c file and the runner program is *just* a single function call
to the function that parses args and runs the main function. Also
improved some CLI usage error code
2024-09-05 14:38:37 -04:00
443af763f4
Trim excess blank lines before feeding to indent
2024-09-05 12:51:53 -04:00
d1b2e9f598
Disallow 'use' statements that aren't top level
2024-09-04 13:48:26 -04:00
61e482f6f3
Initial WIP first past
2024-09-02 18:47:39 -04:00
ad51b208b4
Overhaul of import syntax. Now everything uses use
: use foo
, `use
...
./foo.tm`, `use <foo.h>`, `use libfoo.so`
2024-08-22 14:02:48 -04:00
d08f795794
Partially working first draft of bigints
2024-08-13 01:30:25 -04:00
b2e752ee32
Replace heap_str with GC_strdup
2024-07-26 13:30:24 -04:00
cfe46ee393
Replace heap_strn() with GC_strndup()
2024-07-26 13:28:18 -04:00
87785555ec
Fix for order of operations issues with enum and function typedef code
2024-07-23 19:46:42 -04:00
df765200c4
Switch to parallel compilation
2024-07-06 17:23:32 -04:00
a86dc05d36
Cache AST parsings so we don't have to re-parse files
2024-07-05 15:51:23 -04:00
c24a53174e
Clean up symbol_renames.txt
2024-06-16 20:07:33 -04:00
28de9aeb84
Deprecate '-l' as a command line flag but instead support 'use -lblah'
2024-06-16 18:40:34 -04:00
4724d40e41
Support running with tomo -lfoo file.tm
2024-06-16 18:12:32 -04:00
32e82fdbe3
Remove some dead code and support -l as a tomo flag
2024-06-16 18:09:54 -04:00
9f8be0c502
Support library name as a separate environment field from namespace
2024-06-16 16:08:35 -04:00
7a53e10826
Fix issue with type namespaces not getting properly prefixed by library
...
namespace
2024-06-16 15:12:00 -04:00
6f11f5cbb4
Replace non-identifier characters with '_' when generating prefixes
2024-06-13 22:56:45 -04:00
ce66358d06
Add tomo -u foo
to uninstall foo
2024-06-13 21:24:22 -04:00
81d55cacb7
Do dynamic library symbol prefixing using 'patchelf'
2024-06-13 21:20:50 -04:00
dab2c399f1
Split import/use into separate concepts
2024-06-13 13:17:51 -04:00
5757a5023c
Support loading shared libraries
2024-06-13 12:59:19 -04:00
e9ba4411c9
Change default optimization level to whatever the C compiler's default
...
is
2024-06-11 13:37:33 -04:00
56b9684362
Make library name specifiable by a command line arg
2024-06-10 11:20:14 -04:00
77aa022df0
Change how tomo command line behavior works and how shared libraries are
...
built/installed.
2024-06-09 16:16:22 -04:00
39ac885125
Change c/header transpilation order and fix some issues
2024-06-08 14:39:52 -04:00
8c7d530080
Split header compilation into a separate function
2024-06-06 16:28:53 -04:00
11efaa6f8f
Change how behavior is handled for running files with no main() func
2024-05-31 20:34:29 -04:00
913d8a538f
Add -C cleanup flag and tweak where .so files get installed
2024-05-28 18:58:42 -04:00
94aa0620f2
Shared object files should create a .o first and then .so after
2024-05-28 02:50:01 -04:00
74eed9bc30
Better error checking
2024-05-28 02:38:14 -04:00
e382b5d2d9
Better error reporting
2024-05-28 02:35:21 -04:00
076ead369c
Change default c compiler to 'cc'
2024-05-28 02:32:00 -04:00
8df8f5bb82
Changes to dependency tracking, compilation, and object linking
2024-05-28 00:30:09 -04:00
cb634f61f7
Remove unused code
2024-05-27 18:02:40 -04:00
c9889582a7
Fix up some import and -fPIC stuff
2024-05-27 17:45:22 -04:00
c35e5a84b9
Limited support for tomo -s
to compile shared objects
2024-05-27 17:25:13 -04:00
6bd755eb24
Add support for $OBJFILES to allow linking extra object files, plus
...
don't scan for imports with .h files that aren't .tm.h
2024-05-27 16:25:08 -04:00
128b1dd239
Move standard initialization code into tomo_init() function
2024-05-25 13:56:34 -04:00
9d744b3e6e
Include tweak
2024-05-25 13:04:59 -04:00
e439fcd1e2
Clean up imports a bit
2024-05-18 14:42:35 -04:00
a20f522fd6
Support space indents
2024-05-02 13:48:20 -04:00
e3ad5fdaaa
Fix up some path issues during compilation/running/installation
2024-05-01 13:25:19 -04:00
aa66a38b08
Bugfix
2024-04-21 11:14:54 -04:00
2dd9392ef9
Fix USE_COLOR
2024-04-20 14:58:32 -04:00
ff3e1c1328
Move arg parsing to inline logic in main() function
2024-04-20 14:55:27 -04:00