Christoffer Lerno
|
fb937156fe
|
Work on debug + fix of failable bug.
|
2020-09-02 10:18:30 +02:00 |
|
Christoffer Lerno
|
d070a5e7ff
|
Allow "if (...) else if (...)". Disallow 'if (...) doSomething()' unless the "doSomething" is in the same line.
|
2020-08-03 17:33:07 +02:00 |
|
Christoffer Lerno
|
31d2c15dba
|
Adding $unreachable
|
2020-08-02 00:06:43 +02:00 |
|
Christoffer Lerno
|
009ccfd730
|
Adding assert.
|
2020-08-01 20:53:47 +02:00 |
|
Christoffer Lerno
|
380c1c8ab4
|
Support for $assert. Also change order of checking global declarations from parsing to semantic analysis.
|
2020-07-30 17:44:41 +02:00 |
|
Christoffer Lerno
|
8586bf3f8d
|
Constants are now variables. Constant compile time constants are typeless and act as #define and are now also correctly parsed. Enums are also correctly lowered. And expressions are copied when inlining constants. Compile time ints can no longer be bitnegated.
|
2020-07-29 22:08:47 +02:00 |
|
Christoffer Lerno
|
d0ed16e60e
|
Fixes to !! operator + tests.
|
2020-07-29 12:07:56 +02:00 |
|
Christoffer Lerno
|
7853cb09ac
|
Added check when omitting end index for pointers.
|
2020-07-28 17:37:48 +02:00 |
|
Christoffer Lerno
|
ce68bda86c
|
Corrected ptr->bool conversion. Avoid checking function body if function is invalid. Switch defer test cases. Slices with test cases.
|
2020-07-28 17:37:48 +02:00 |
|
Christoffer Lerno
|
90ab4f07b9
|
Corrected ptr->bool conversion. Avoid checking function body if function is invalid. Switch defer test cases.
|
2020-07-28 17:37:48 +02:00 |
|
Christoffer Lerno
|
c839eb50c8
|
Simplified defer and now also allow nested defers.
|
2020-07-27 11:40:45 +02:00 |
|
Christoffer Lerno
|
a533cbb1a7
|
Fixes to tester for multiple file support.
|
2020-07-27 11:40:45 +02:00 |
|
Christoffer Lerno
|
7b7abf5d4a
|
Fixes to defer, allowing break in defer (instead of continue). Fixed bug in PTR->BOOL cast. Extended test system to support multi files and codegen.
|
2020-07-27 11:40:45 +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
|
34c7df9ee1
|
Fixed multi line error reporting for tokens. Handle infinite empty for loops. Changed cast syntax to "cast(foo as Foo)". Completed enum casts. Added 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
|
bd68380f06
|
Fixes to compile time integer conversions to to unsigned values, detecting negative values. Require cast on int -> pointer cast. Fixed check on array underflow. More tests.
|
2020-07-25 02:43:06 +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
|
f45d6ef84b
|
Fix, separate out the function pass from the decl pass. Diagnose non-visible symbols as not visible rather than missing. Fix crash when module identifier is incorrect. !! operator added. New character literal parsing. Added simple test framework.
|
2020-07-21 23:43:28 +02:00 |
|