Brendan Hansen [Thu, 13 Aug 2020 16:07:22 +0000 (11:07 -0500)]
things of struct type now work as lvalues
Brendan Hansen [Thu, 13 Aug 2020 13:21:10 +0000 (08:21 -0500)]
Added a local allocator to better manage WASM locals
Brendan Hansen [Wed, 12 Aug 2020 17:29:30 +0000 (12:29 -0500)]
added 'builtin' package for symbols that are built into the language
Brendan Hansen [Wed, 12 Aug 2020 16:03:29 +0000 (11:03 -0500)]
much refactoring; changed passing structs by value; stack frame management; added onyxbuiltins
Brendan Hansen [Tue, 11 Aug 2020 20:54:32 +0000 (15:54 -0500)]
moved pipe operator to being a binary operator
Brendan Hansen [Tue, 11 Aug 2020 18:57:23 +0000 (13:57 -0500)]
changed UFC operator to |> for now; fixed bug with nested UFCs
Brendan Hansen [Tue, 11 Aug 2020 17:49:17 +0000 (12:49 -0500)]
readded UFC syntax using the ' operator
Brendan Hansen [Tue, 11 Aug 2020 15:12:39 +0000 (10:12 -0500)]
changed syntax for including files and folders
Brendan Hansen [Tue, 11 Aug 2020 03:11:59 +0000 (22:11 -0500)]
can include other folders in search path
Brendan Hansen [Mon, 10 Aug 2020 20:43:29 +0000 (15:43 -0500)]
added binary op reduction to comparison and boolean operators
Brendan Hansen [Mon, 10 Aug 2020 20:24:51 +0000 (15:24 -0500)]
used valgrind to find memory issues
Brendan Hansen [Mon, 10 Aug 2020 19:54:58 +0000 (14:54 -0500)]
bugfix with compile time expression as array size
Brendan Hansen [Mon, 10 Aug 2020 19:45:33 +0000 (14:45 -0500)]
started work on reducing compile time known values
Brendan Hansen [Mon, 10 Aug 2020 17:43:49 +0000 (12:43 -0500)]
added memory reservation initial values
Brendan Hansen [Mon, 10 Aug 2020 15:27:14 +0000 (10:27 -0500)]
string literal data section improvement
Brendan Hansen [Mon, 10 Aug 2020 15:19:16 +0000 (10:19 -0500)]
small bugfix for binary operator checking
Brendan Hansen [Mon, 10 Aug 2020 14:23:33 +0000 (09:23 -0500)]
small improvement for binary operator checking
Brendan Hansen [Mon, 10 Aug 2020 13:54:03 +0000 (08:54 -0500)]
added char literals and fixed cast bugs
Brendan Hansen [Mon, 10 Aug 2020 03:07:02 +0000 (22:07 -0500)]
bugfixes
Brendan Hansen [Mon, 10 Aug 2020 02:45:14 +0000 (21:45 -0500)]
Code cleanup for numeric literals
Brendan Hansen [Mon, 10 Aug 2020 02:06:14 +0000 (21:06 -0500)]
random improvements
Brendan Hansen [Sat, 8 Aug 2020 16:17:32 +0000 (11:17 -0500)]
small bugfix with struct typing
Brendan Hansen [Sat, 8 Aug 2020 03:38:51 +0000 (22:38 -0500)]
small bugfixes
Brendan Hansen [Sat, 8 Aug 2020 03:34:42 +0000 (22:34 -0500)]
using wasm local when possible again
Brendan Hansen [Fri, 7 Aug 2020 18:55:14 +0000 (13:55 -0500)]
Converted to using a proper stack system; many improvements will be needed but it works
Brendan Hansen [Thu, 6 Aug 2020 22:26:42 +0000 (17:26 -0500)]
Added '#file_contents' directive to expression
Brendan Hansen [Tue, 4 Aug 2020 20:17:28 +0000 (15:17 -0500)]
parser is now more fault tolerant to unexpected tokens
Brendan Hansen [Mon, 3 Aug 2020 20:58:08 +0000 (15:58 -0500)]
Very sad but working implementation of hex literals
Brendan Hansen [Mon, 3 Aug 2020 15:00:05 +0000 (10:00 -0500)]
Added '#private' directive for package limited scope
Brendan Hansen [Sun, 2 Aug 2020 20:08:14 +0000 (15:08 -0500)]
Added adding and subtracting from pointers with C style pointer arithmetic
Brendan Hansen [Fri, 31 Jul 2020 01:37:10 +0000 (20:37 -0500)]
a 'do' statement is now allowed anywhere a single statement block would be
Brendan Hansen [Thu, 30 Jul 2020 22:58:47 +0000 (17:58 -0500)]
deferred statement bugfixes
Brendan Hansen [Thu, 30 Jul 2020 20:04:15 +0000 (15:04 -0500)]
Added deferred statements; maybe a little buggy
Brendan Hansen [Thu, 30 Jul 2020 03:45:55 +0000 (22:45 -0500)]
casting from void is not allowed
Brendan Hansen [Thu, 30 Jul 2020 03:41:08 +0000 (22:41 -0500)]
Testing language features; small bugfixes
Brendan Hansen [Wed, 29 Jul 2020 22:17:48 +0000 (17:17 -0500)]
Changed cast syntax; added basic heap allocator in onyx
Brendan Hansen [Tue, 28 Jul 2020 22:14:19 +0000 (17:14 -0500)]
small updates; removing onyxir
Brendan Hansen [Tue, 28 Jul 2020 18:29:30 +0000 (13:29 -0500)]
Small bugfixes
Brendan Hansen [Tue, 28 Jul 2020 16:38:07 +0000 (11:38 -0500)]
Added basic type aliasing
Brendan Hansen [Tue, 28 Jul 2020 04:15:56 +0000 (23:15 -0500)]
testing with 'first-class' procedures
Brendan Hansen [Mon, 27 Jul 2020 21:37:39 +0000 (16:37 -0500)]
Added procedure declarations at the expression level; properly using elems now
Brendan Hansen [Mon, 27 Jul 2020 20:43:05 +0000 (15:43 -0500)]
Bug fixes with first class functions
Brendan Hansen [Mon, 27 Jul 2020 20:29:26 +0000 (15:29 -0500)]
Add indirect function calls (function pointers)
Brendan Hansen [Mon, 27 Jul 2020 15:50:17 +0000 (10:50 -0500)]
not filling the binary with thousands of unnecessary zeros
Brendan Hansen [Mon, 27 Jul 2020 14:50:28 +0000 (09:50 -0500)]
Small improvement to errors with use parameters
Brendan Hansen [Mon, 27 Jul 2020 14:48:04 +0000 (09:48 -0500)]
Added ability to 'use' parameters
Brendan Hansen [Mon, 27 Jul 2020 03:50:23 +0000 (22:50 -0500)]
Started basics of pointers to sized data
Brendan Hansen [Sun, 26 Jul 2020 19:40:51 +0000 (14:40 -0500)]
Added flags directive to enums
Brendan Hansen [Sun, 26 Jul 2020 16:51:35 +0000 (11:51 -0500)]
Added 'alignof' unary operator and alignment checking on structs
Brendan Hansen [Sun, 26 Jul 2020 16:22:36 +0000 (11:22 -0500)]
Added initial implementation of enums; bugfixes will be needed
Brendan Hansen [Fri, 24 Jul 2020 23:54:16 +0000 (18:54 -0500)]
Bugfix with package scopes
Brendan Hansen [Fri, 24 Jul 2020 16:08:30 +0000 (11:08 -0500)]
Bug fixes in package system; package graph cycles are resolved
Brendan Hansen [Fri, 24 Jul 2020 13:22:17 +0000 (08:22 -0500)]
Added field access to type signature so types can be from another package
Brendan Hansen [Fri, 24 Jul 2020 03:36:56 +0000 (22:36 -0500)]
BIG changes to the way symbols are loaded; added a proper package system
Brendan Hansen [Thu, 23 Jul 2020 22:16:08 +0000 (17:16 -0500)]
small changes; setup sublime debugging
Brendan Hansen [Thu, 23 Jul 2020 18:34:45 +0000 (13:34 -0500)]
Added basic dead code elimination at the function level; bug fixes
Brendan Hansen [Thu, 23 Jul 2020 18:09:46 +0000 (13:09 -0500)]
Added bitwise operations
Brendan Hansen [Thu, 23 Jul 2020 17:22:39 +0000 (12:22 -0500)]
Added boolean logical operators
Brendan Hansen [Wed, 22 Jul 2020 19:07:37 +0000 (14:07 -0500)]
Added struct member parameter splatted; effectively structs can pass by value
Brendan Hansen [Wed, 22 Jul 2020 15:15:13 +0000 (10:15 -0500)]
Added 'splatting' of struct members to call arguments
Brendan Hansen [Wed, 22 Jul 2020 14:12:37 +0000 (09:12 -0500)]
removed old example files; added arbitrary break and continue targets
Brendan Hansen [Wed, 22 Jul 2020 13:46:23 +0000 (08:46 -0500)]
slight code cleanup
Brendan Hansen [Wed, 22 Jul 2020 13:33:25 +0000 (08:33 -0500)]
Added UFC syntax for function calls on structs
Brendan Hansen [Tue, 21 Jul 2020 19:40:22 +0000 (14:40 -0500)]
Bug fixes on interactions between struct members and arrays
Brendan Hansen [Tue, 21 Jul 2020 01:53:09 +0000 (20:53 -0500)]
Added sublime syntax highlighting
Brendan Hansen [Tue, 21 Jul 2020 01:43:08 +0000 (20:43 -0500)]
Added array types; need to flush out semantics
Brendan Hansen [Mon, 20 Jul 2020 22:11:45 +0000 (17:11 -0500)]
Added 'drop' instruction for ignored function return values
Brendan Hansen [Mon, 20 Jul 2020 21:56:34 +0000 (16:56 -0500)]
removed assignments in an expression
Brendan Hansen [Mon, 20 Jul 2020 21:27:14 +0000 (16:27 -0500)]
Added 'sizeof' unary operator
Brendan Hansen [Mon, 20 Jul 2020 18:49:18 +0000 (13:49 -0500)]
Added initial implementation of structs
Brendan Hansen [Mon, 20 Jul 2020 02:54:32 +0000 (21:54 -0500)]
small potential bugfix
Brendan Hansen [Mon, 20 Jul 2020 02:26:10 +0000 (21:26 -0500)]
integers are implicitly converted if they are the same size
Brendan Hansen [Mon, 20 Jul 2020 01:37:53 +0000 (20:37 -0500)]
small bugfixes; testing pointers
Brendan Hansen [Mon, 20 Jul 2020 00:39:56 +0000 (19:39 -0500)]
Added '__heap_start' builtin; more cases for casting
Brendan Hansen [Sun, 19 Jul 2020 20:03:27 +0000 (15:03 -0500)]
small bugfix with for loop conditions
Brendan Hansen [Sun, 19 Jul 2020 19:39:56 +0000 (14:39 -0500)]
Added basic for loops
Just syntactic sugar for certain kinds of while loops
Brendan Hansen [Sun, 19 Jul 2020 17:51:59 +0000 (12:51 -0500)]
Added address of and deference operators
Brendan Hansen [Sun, 19 Jul 2020 16:49:18 +0000 (11:49 -0500)]
code cleanup
Brendan Hansen [Sun, 19 Jul 2020 15:48:51 +0000 (10:48 -0500)]
Added strings to the language
Currently they are null-terminated ^u8
Brendan Hansen [Sat, 18 Jul 2020 22:12:29 +0000 (17:12 -0500)]
Slight refactoring and improvements
Brendan Hansen [Sat, 18 Jul 2020 17:43:20 +0000 (12:43 -0500)]
Completely refactored scope logic
Brendan Hansen [Sat, 18 Jul 2020 17:05:00 +0000 (12:05 -0500)]
slight optimization
Brendan Hansen [Sat, 18 Jul 2020 04:53:09 +0000 (23:53 -0500)]
added top-level procs without binding to symbol
Brendan Hansen [Sat, 18 Jul 2020 04:21:39 +0000 (23:21 -0500)]
Code cleanup and uniformity
Brendan Hansen [Sat, 18 Jul 2020 03:37:32 +0000 (22:37 -0500)]
Small bugfixes
Brendan Hansen [Sat, 18 Jul 2020 02:56:03 +0000 (21:56 -0500)]
Added basic function overloading
Brendan Hansen [Sat, 18 Jul 2020 00:06:15 +0000 (19:06 -0500)]
Testing arrays as globals
Brendan Hansen [Sat, 18 Jul 2020 00:01:14 +0000 (19:01 -0500)]
Small bugfix
Brendan Hansen [Fri, 17 Jul 2020 23:52:49 +0000 (18:52 -0500)]
Testing array implementation
Brendan Hansen [Fri, 17 Jul 2020 22:08:05 +0000 (17:08 -0500)]
Added simple array mechanics; Cleaned up code in the process
Brendan Hansen [Fri, 17 Jul 2020 18:55:23 +0000 (13:55 -0500)]
if and while can now take any statement
Brendan Hansen [Fri, 17 Jul 2020 13:53:02 +0000 (08:53 -0500)]
fix from last code cleanup
Brendan Hansen [Fri, 17 Jul 2020 13:51:30 +0000 (08:51 -0500)]
Merge branch 'master' of https://github.com/brendanfh/onyx
Brendan Hansen [Fri, 17 Jul 2020 13:45:05 +0000 (08:45 -0500)]
Code cleanup
Brendan Hansen [Fri, 17 Jul 2020 13:45:05 +0000 (08:45 -0500)]
Code cleanup
Brendan Hansen [Fri, 17 Jul 2020 04:24:13 +0000 (23:24 -0500)]
Added back WASM globals; small name changes
Brendan Hansen [Thu, 16 Jul 2020 21:21:02 +0000 (16:21 -0500)]
small changes and improvements
Brendan Hansen [Thu, 16 Jul 2020 20:38:43 +0000 (15:38 -0500)]
Added a proper function type
Brendan Hansen [Thu, 16 Jul 2020 18:56:48 +0000 (13:56 -0500)]
Changed implementation of imap from BST to hash table
Brendan Hansen [Thu, 16 Jul 2020 18:13:38 +0000 (13:13 -0500)]
Started working on an IR; decided it's not needed
Leaving the code for it in the tree though