Commit Graph

81 Commits

Author SHA1 Message Date
5757a5023c Support loading shared libraries 2024-06-13 12:59:19 -04:00
8c7d530080 Split header compilation into a separate function 2024-06-06 16:28:53 -04:00
468e6c7411 Fix for parsing linker directives 2024-05-26 15:13:34 -04:00
308946e794 Switch optional detection to use 'when .. is @..' instead of 'if .. :=
..'; also fixed a bug with stack memory in doctests
2024-05-24 00:03:46 -04:00
bf3cdc3dfa Refine the parsing of blocks so it's always ':' [inline-block] [indent indented-block] 2024-05-23 13:09:59 -04:00
e7beacb460 Add a 'do' block for scoping 2024-05-23 12:52:18 -04:00
fba2b99b65 Support 'while when' 2024-05-23 12:40:21 -04:00
4f2421aeea Tweak inline C code 2024-05-18 21:18:08 -04:00
1df26851d7 Add syntax for "inline C(...)" 2024-05-18 16:31:34 -04:00
ee9a40f910 Fix 'else if' 2024-05-16 00:55:16 -04:00
02fe49a764 Deprecate interfaces (RIP) 2024-05-12 20:13:19 -04:00
3481042259 Simplify interfaces by requiring all functions are pointer methods 2024-05-12 15:56:24 -04:00
d143c72b22 WIP, but functional interfaces 2024-05-12 13:50:06 -04:00
a20f522fd6 Support space indents 2024-05-02 13:48:20 -04:00
c2daf6a928 Clean up 'when' syntax 2024-05-01 13:53:51 -04:00
2e27b88c1b Improved syntax for optionals 2024-04-30 13:18:47 -04:00
3c0a8f0b89 Syntax tweak: use ':' for blocks 2024-04-28 14:58:55 -04:00
a329682d30 Remove _mix_ keyword 2024-04-22 17:26:33 -04:00
e98f6854f5 Use leading underscore for file-local variables and functions instead of
"private" keyword
2024-04-17 13:44:01 -04:00
63e6ba596a Change table syntax to {key:value} instead of {key=>value} 2024-04-13 13:39:44 -04:00
6c01eef851 Introducing the main() function 2024-04-12 13:09:31 -04:00
c73e96ff91 Add comparison operator <> and array method to sort by a custom
comparison function
2024-04-02 13:08:06 -04:00
838c9963fc Adding a REPL 2024-03-30 12:14:24 -04:00
135e23094c Improve codegen for table/array iteration by inlining the iteration
macros
2024-03-26 14:02:48 -04:00
5157988efa Implement 'extern' functionality 2024-03-24 15:06:59 -04:00
a47bd2d569 Improvements to module imports 2024-03-19 23:29:32 -04:00
adbb07fdc2 Module imports 2024-03-19 14:22:03 -04:00
7c0a77df33 Handle function type annotations without returns better 2024-03-18 15:27:07 -04:00
d39e0aca2e Implement parsing of 'pass' 2024-03-18 13:49:42 -04:00
df2e01c15e Add some better file comments 2024-03-18 12:47:07 -04:00
46ee3fc0ef Temporary fix for newlines between statements 2024-03-17 15:59:06 -04:00
1647fb4bed Unary ops should only parse terms not full expressions 2024-03-17 15:23:42 -04:00
9932841530 Improve comprehensions for both arrays and tables 2024-03-17 14:46:36 -04:00
ecf425fb9a Rearrange expression/statement compilation code 2024-03-14 13:28:30 -04:00
d5d3f564bb Remove some shadowed variables 2024-03-14 02:48:07 -04:00
fdc3eadba2 Array comprehensions 2024-03-14 02:37:56 -04:00
a33f730617 Rearranging some files 2024-03-10 00:03:21 -05:00
a1605672d9 Add explicit check for space indentation 2024-03-09 23:16:23 -05:00
cbdd357b41 Deprecate secret langs (just use one-member structs) 2024-03-09 19:02:13 -05:00
2b83ab279d Add langs to the language 2024-03-09 18:22:12 -05:00
fa66053e13 Use '$' for min/max variable 2024-03-07 12:15:38 -05:00
98d86d1934 Support method calls for reductions 2024-03-07 12:11:18 -05:00
38d5245a9a Fix up some min/max stuff 2024-03-05 14:46:01 -05:00
e29aa52460 Struct and enum methods and static members 2024-03-04 13:51:47 -05:00
8fab88c56f Rename Str -> Text 2024-03-03 18:15:45 -05:00
07f0a18136 Fix endptr stuff in parser 2024-03-03 17:52:22 -05:00
0fe255a7c1 Fix up unicode escapes 2024-03-03 17:49:40 -05:00
2eafa7a4da Fix issue with unnamed args getting name flag 2024-03-03 17:21:55 -05:00
4dc70c84d4 First working method calls 2024-02-29 13:49:24 -05:00
741617a17e Add for-else block 2024-02-25 16:02:36 -05:00