Christoffer Lerno
|
0cf110f763
|
Build system improvements. Target changes x64-windows -> windows-x64, x64-darwin -> macos-x64. Improved mac support. LLD linking for Mac, Windows, Linux. Cross linking for Mac, Windows. Clean up string use.
|
2022-04-22 18:02:11 +02:00 |
|
Christoffer Lerno
|
8743223dd6
|
Allocators. Rename of "optenum" to fault. Memcpy and memset added. Cleanup of declaration use.
|
2022-04-09 20:07:59 +02:00 |
|
data-man
|
d1fadf6428
|
Don't replace digits to underscore in created files
|
2022-03-20 19:41:30 +01:00 |
|
Christoffer Lerno
|
6789fab93c
|
Panic function that may be redefined. Trap and stacktrace builtins. Bug using builtin fixed. Fixes to using $$LINE and friends. Produces a stacktrace on error.
|
2022-03-18 12:43:17 +01:00 |
|
Christoffer Lerno
|
8f6fb8b7d7
|
Move body param as decl. Fix lexer bug with docs.
|
2022-03-10 14:54:52 +01:00 |
|
Christoffer Lerno
|
6a48f81485
|
Smaller Decl and Expr. Compressed TypeInfo.
|
2022-03-09 19:10:11 +01:00 |
|
Christoffer Lerno
|
4f4bc80953
|
Symtab has a new hash map type. New, small, sourcespan, external symbols simplified. Updated docs.
|
2022-03-01 10:32:52 +01:00 |
|
Christoffer Lerno
|
df3e51c17e
|
Implicit imports.
|
2022-02-16 20:41:54 +01:00 |
|
Christoffer Lerno
|
06917f2e65
|
Added "guess a number". Fix CT enum / int comparison. Fix some array pointer decay scenarios. Infer type of expression blocks. Correctly merge anyerr.
|
2022-02-01 22:46:32 +01:00 |
|
Christoffer Lerno
|
ba66aaaf12
|
Foreach overload is now done using attributes (@operator(elementat), @operator(elementref) and @operator(len)) rather than reserved functions.
|
2022-01-29 16:45:03 +01:00 |
|
Christoffer Lerno
|
8a840746f6
|
Compound statements are linked lists. Remove unused "global_symbols" "public_symbols" "qualified_symbols". Reduce max hash map load.
|
2022-01-05 19:40:44 +01:00 |
|
Christoffer Lerno
|
1d5ff71b21
|
Rearchitecture contexts. Fixing macro resulution, hash arguments and defers.
|
2022-01-04 20:45:58 +01:00 |
|
Christoffer Lerno
|
bbeed12600
|
Removing unused hash table functions. Removal of macro DECL_NEW. Smaller initial vector size. Remove unnecessary memclear.
|
2021-12-30 16:41:00 +01:00 |
|
Christoffer Lerno
|
05c9b7cb33
|
More explicit conversion and width changes to some field.
|
2021-11-21 23:37:54 +01:00 |
|
Christoffer Lerno
|
4d4bbbdebc
|
Parses attribute defines. Removal of incremental array parsing. Labels in macros should now work correctly. Volatile and attribute are no longer keywords. Checked a few todos. On test failure, return -1
|
2021-11-18 20:36:45 +01:00 |
|
Christoffer Lerno
|
15f902579b
|
Removed virtual
|
2021-11-08 22:22:01 +01:00 |
|
Christoffer Lerno
|
bcda6d71c9
|
AST printout removed. Split initializer types. Const list functionality.
|
2021-09-10 15:47:23 +02:00 |
|
Christoffer Lerno
|
f180a0d44a
|
Change anyerror { i64, i64 } -> i64. Cleaned up platform data and max tls / vector align. Initial work on bitstruct (just parsing). Updated try / catch semantics.
|
2021-08-18 17:31:09 +02:00 |
|
Christoffer Lerno
|
2246b641b1
|
Fix stack overwrite.
|
2021-07-30 00:18:30 +02:00 |
|
Christoffer Lerno
|
c4aa366592
|
Use heuristic to determine the type to convert to for compile time types. Added parsing for generic
|
2021-07-22 18:45:39 +02:00 |
|
Christoffer Lerno
|
198e3c369c
|
Extension methods added. Some initial work on virtual.
|
2021-07-21 19:28:02 +02:00 |
|
Christoffer Lerno
|
a5ce7c47ba
|
Adding "require" precondition. Corrects inferred arrays and fixes so that it uses [*] everywhere. Distict type will now allow methods to be added to it. Added $alignof and $sizeof.
|
2021-07-09 23:57:35 +02:00 |
|
Christoffer Lerno
|
038ed7f9d5
|
Macro methods added.
|
2021-06-26 17:42:45 +02:00 |
|
Christoffer Lerno
|
9572c4afc9
|
Top level $if now uses $if: / $endif; Fix of boolean globals. Fix of $else: clause. Fix of $assert inside of $if
|
2021-06-24 18:01:59 +02:00 |
|
Christoffer Lerno
|
0605a8c500
|
Introduce "private" keyword and private modules / private import.
|
2021-05-30 16:30:16 +02:00 |
|
Christoffer Lerno
|
84fa680568
|
Allow multiple modules in a single file.
|
2021-05-30 16:30:16 +02:00 |
|
Christoffer Lerno
|
d9566ef894
|
Generic modules are back, slightly different.
|
2021-05-30 16:30:16 +02:00 |
|
Christoffer Lerno
|
892c7e8874
|
Changed generic modules to internal templates.
|
2021-05-27 08:30:02 +02:00 |
|
Christoffer Lerno
|
dbb067a005
|
Cleanup.
|
2021-05-23 21:32:32 +02:00 |
|
Christoffer Lerno
|
15a65d0c97
|
Allow use of pthreads to parallelize codegen.
|
2021-05-09 19:26:05 +02:00 |
|
Christoffer Lerno
|
f7919edb35
|
Split modules into generic and normal modules on the top level. Prepare for static. Change local -> static as keyword. Add private include. Remove old sub module search.
|
2021-05-09 19:26:05 +02:00 |
|
Christoffer Lerno
|
c6f671a6ca
|
A bit more global...
|
2021-04-29 22:44:00 +02:00 |
|
Christoffer Lerno
|
01f7343945
|
Parsing of interface. Fix to unpacking arraypointers. Fix accidental unsplat.
|
2021-04-29 03:12:25 +02:00 |
|
Christoffer Lerno
|
954a90dae3
|
Fix of arch target. Experimental linker support.
|
2021-04-09 18:47:41 +02:00 |
|
Christoffer Lerno
|
4210f1ccb2
|
Some work on vararray. Fix span on post unary. Updated error recovery. Updated return analysis to handle void functions. "while" now disallows error prone next line statement. Working on auto linking. Failable load optimized. Optimization and corrections for call returns + documentation.
|
2021-04-05 23:34:40 +02:00 |
|
Christoffer Lerno
|
7fc12192f4
|
Added "distinct" types.
|
2021-01-24 21:10:57 +01:00 |
|
Christoffer Lerno
|
3c15e495dd
|
Add macro arguments &foo $foo #foo.
C ABI compatibility aarch64, win64, x86, x64
Added debug info
|
2020-11-22 22:16:19 +01:00 |
|
Christoffer Lerno
|
77ccfc1f7c
|
Added CT_SWITCH parsing in top level. Nil changed to null. Parsing more in line with grammar. Parse type as expressions. Zero init by default for locals. Corrected bool/fp conversion. Add memcpy pass to fix issue with value load/stores.
|
2020-09-21 11:38:12 +02:00 |
|
Christoffer Lerno
|
b45c866071
|
Adding $switch and rearranging parser somewhat. Removing the need for "store" of context.
|
2020-08-02 13:53:17 +02:00 |
|
Christoffer Lerno
|
21357c4fc1
|
Fix crash when having return value errors. Updated docs. Find and load builtin.c3 locate std lib.
|
2020-07-31 16:29:52 +02:00 |
|
Christoffer Lerno
|
75dd644e52
|
Corrected parsing for incremental arrays. Correctly handle failed declarations. More tests.
|
2020-07-25 21:54:32 +02:00 |
|
Christoffer Lerno
|
e3566ba838
|
Fixed crash bug on missing module, and on file name == keyword. Added summary to tester and corrected filename.
|
2020-07-25 21:54:32 +02:00 |
|
Christoffer Lerno
|
ed01616f1e
|
Changed how structs/unions are parsed so that recovery becomes more robust. Allow for more complex error data. Fixed recursive structs/unions. Corrected prefix precedence rules. Begin work on checking initializer constant-ness. Fixed error on failed arithmetic promotion. Added checks on constant overflow of sub/add/mult. Allow "current_module_name::x" to refer to globals. Added many tests.
|
2020-07-23 18:04:18 +02:00 |
|
Christoffer Lerno
|
b4c661eaad
|
Pre lexing and mmap allocation together with exact exits.
|
2020-07-15 15:42:54 +02:00 |
|
Christoffer Lerno
|
dc86c21210
|
New failable based error handling. Labelled break/continue/next.
|
2020-07-09 13:07:08 +02:00 |
|
Christoffer Lerno
|
3bdfe3e05e
|
Refactored structs.
|
2020-06-01 21:00:21 +02:00 |
|
Christoffer Lerno
|
c9ab05bfec
|
Prepare for struct refactoring.
|
2020-05-30 20:58:09 +02:00 |
|
Christoffer Lerno
|
1b69423f45
|
Method functions now work.
|
2020-05-27 12:26:38 +02:00 |
|
Christoffer Lerno
|
b2bfd87a06
|
Started work on ranges. Added weak/noreturn/inline/cname/stdcall/section/alignment attributes. Some work on subarrays. Fixes to throws. Function pointers work.
|
2020-05-20 14:22:22 +02:00 |
|
Christoffer Lerno
|
dbce72146f
|
More AST dumps fixed. Throw simplified by removing "DECL_THROW", which also unearthed a bug.
|
2020-05-07 11:46:16 +02:00 |
|