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
Brendan Hansen [Thu, 16 Jul 2020 00:27:48 +0000 (19:27 -0500)]
MAJOR CHANGES TO THE LANGUAGE
Removed some keywords and changed the way somethings work
Brendan Hansen [Tue, 14 Jul 2020 22:42:44 +0000 (17:42 -0500)]
small bugfixes
Brendan Hansen [Tue, 14 Jul 2020 16:33:17 +0000 (11:33 -0500)]
Slight alignment fix
Brendan Hansen [Tue, 14 Jul 2020 15:41:57 +0000 (10:41 -0500)]
Added parsing of boolean not
Brendan Hansen [Tue, 14 Jul 2020 15:07:42 +0000 (10:07 -0500)]
Small bugfixes
Brendan Hansen [Mon, 13 Jul 2020 15:11:21 +0000 (10:11 -0500)]
Small bugfix with cast generation; updated onyx.vim
Brendan Hansen [Mon, 13 Jul 2020 03:21:54 +0000 (22:21 -0500)]
Fixed many bugs with type system; Ready to start pointers
Brendan Hansen [Fri, 10 Jul 2020 04:36:39 +0000 (23:36 -0500)]
Revamping type system;
CODE IS VERY BROKEN
Brendan Hansen [Thu, 9 Jul 2020 22:40:19 +0000 (17:40 -0500)]
MAJOR BREAKING CHANGES
Everything is broken right now
Brendan Hansen [Thu, 9 Jul 2020 18:25:11 +0000 (13:25 -0500)]
Bugfix for directive parsing
Brendan Hansen [Thu, 9 Jul 2020 17:49:39 +0000 (12:49 -0500)]
Small refactor; Added more detailed error printing
Brendan Hansen [Thu, 9 Jul 2020 14:53:30 +0000 (09:53 -0500)]
Fixed intrinsics types
Brendan Hansen [Thu, 9 Jul 2020 14:49:05 +0000 (09:49 -0500)]
Added all other intrinsics (for now)
Brendan Hansen [Thu, 9 Jul 2020 02:46:41 +0000 (21:46 -0500)]
Started working on intrinsic functions
Brendan Hansen [Wed, 8 Jul 2020 20:56:01 +0000 (15:56 -0500)]
Renamed 'scope' to 'localgroup' since scope didn't feel right
Brendan Hansen [Wed, 8 Jul 2020 18:54:21 +0000 (13:54 -0500)]
Starting to refactor the linked-list nature
Brendan Hansen [Tue, 7 Jul 2020 23:21:41 +0000 (18:21 -0500)]
Slight refactoring and adding compiler directives
Brendan Hansen [Fri, 3 Jul 2020 17:19:31 +0000 (12:19 -0500)]
Removed unnecessary tokens in the lexer
Brendan Hansen [Fri, 3 Jul 2020 16:02:17 +0000 (11:02 -0500)]
Moved the AST nodes to another file
Brendan Hansen [Fri, 3 Jul 2020 14:24:41 +0000 (09:24 -0500)]
Added +=, -=, *=, etc. operators
Brendan Hansen [Fri, 3 Jul 2020 04:30:39 +0000 (23:30 -0500)]
Refactored the AST node structure
This involved rewriting a lot of the code that was there
Brendan Hansen [Fri, 3 Jul 2020 00:59:09 +0000 (19:59 -0500)]
Added verbose output option
Brendan Hansen [Thu, 2 Jul 2020 21:46:29 +0000 (16:46 -0500)]
Code cleanup and optimizations
Brendan Hansen [Thu, 2 Jul 2020 02:34:10 +0000 (21:34 -0500)]
'use' statements work; only initial version
Brendan Hansen [Wed, 1 Jul 2020 19:52:30 +0000 (14:52 -0500)]
Updated README
Brendan Hansen [Wed, 1 Jul 2020 14:16:20 +0000 (09:16 -0500)]
Bug fixes and additions to globals
Brendan Hansen [Wed, 1 Jul 2020 03:40:32 +0000 (22:40 -0500)]
Added initial version of globals
More work will be needed; also, might remove the pointer to code style
in the WASM compilation step
Brendan Hansen [Tue, 30 Jun 2020 21:16:08 +0000 (16:16 -0500)]
Starting work on globals
Brendan Hansen [Tue, 30 Jun 2020 15:35:41 +0000 (10:35 -0500)]
Code cleanup; starting on WASM globals
Brendan Hansen [Sun, 28 Jun 2020 16:03:11 +0000 (11:03 -0500)]
Using managed heap allocator; slight code cleanup
Brendan Hansen [Sun, 28 Jun 2020 03:43:48 +0000 (22:43 -0500)]
Merge branch 'master' of https://github.com/brendanfh/onyx
Brendan Hansen [Sun, 28 Jun 2020 03:43:03 +0000 (22:43 -0500)]
Added managed heap allocation to bh.h
This will simplify some of the allocations in the compiler
Brendan Hansen [Fri, 26 Jun 2020 20:15:16 +0000 (15:15 -0500)]
Update README.md
Brendan Hansen [Fri, 26 Jun 2020 20:06:26 +0000 (15:06 -0500)]
Stage 1 done; added test file for break/continue
Brendan Hansen [Fri, 26 Jun 2020 19:57:42 +0000 (14:57 -0500)]
MAJOR bug fix with binop code generation
Brendan Hansen [Fri, 26 Jun 2020 18:18:15 +0000 (13:18 -0500)]
fixed accidental pasting
Always compile before commiting!
Brendan Hansen [Fri, 26 Jun 2020 16:00:48 +0000 (11:00 -0500)]
Fixed all mixed tabs and spaces
Everything is spaces now
Brendan Hansen [Fri, 26 Jun 2020 15:45:06 +0000 (10:45 -0500)]
Added a README
Brendan Hansen [Fri, 26 Jun 2020 15:26:25 +0000 (10:26 -0500)]
code cleanup; grouped all binary ops together
Brendan Hansen [Thu, 25 Jun 2020 19:44:52 +0000 (14:44 -0500)]
Changed order of error checking
constant is now checked before lval
Brendan Hansen [Thu, 25 Jun 2020 19:35:45 +0000 (14:35 -0500)]
Added boolean types and while statements
Almost a very usable language
Brendan Hansen [Wed, 24 Jun 2020 22:33:39 +0000 (17:33 -0500)]
Better compiler frontend; compile many files at once
Brendan Hansen [Wed, 24 Jun 2020 02:48:08 +0000 (21:48 -0500)]
Using vim sessions now; don't want them committed
Brendan Hansen [Wed, 24 Jun 2020 02:19:22 +0000 (21:19 -0500)]
Fixed bug with naked blocks not being compiled
Brendan Hansen [Wed, 24 Jun 2020 02:10:40 +0000 (21:10 -0500)]
Fully compiling to WASM again
Brendan Hansen [Tue, 23 Jun 2020 03:20:05 +0000 (22:20 -0500)]
Various improvements and bug fixes
Brendan Hansen [Mon, 22 Jun 2020 21:43:54 +0000 (16:43 -0500)]
Added initial type checking
Brendan Hansen [Mon, 22 Jun 2020 16:54:34 +0000 (11:54 -0500)]
Splitting up code for easier maintainability
Brendan Hansen [Mon, 22 Jun 2020 16:16:18 +0000 (11:16 -0500)]
Bug fixes with symbol resolution
Brendan Hansen [Mon, 22 Jun 2020 15:51:02 +0000 (10:51 -0500)]
Added proper symbol resolution
Compiler is now in a working state
Brendan Hansen [Sun, 21 Jun 2020 21:16:43 +0000 (16:16 -0500)]
Removed need for semicolons after some statements
Brendan Hansen [Sat, 20 Jun 2020 23:14:05 +0000 (18:14 -0500)]
Added initial vim syntax highlighting; bug fixes
Brendan Hansen [Sat, 20 Jun 2020 20:38:29 +0000 (15:38 -0500)]
Added logical comparison operators
Still need to add boolean types
Brendan Hansen [Sat, 20 Jun 2020 20:10:29 +0000 (15:10 -0500)]
Added if statements
Brendan Hansen [Sat, 20 Jun 2020 02:46:40 +0000 (21:46 -0500)]
Bugfix with scratch allocator
Brendan Hansen [Sat, 20 Jun 2020 02:38:04 +0000 (21:38 -0500)]
Added bin ops with precedence; bug fixes
Brendan Hansen [Fri, 19 Jun 2020 17:37:49 +0000 (12:37 -0500)]
Bugfixes for foreign function calls
Brendan Hansen [Fri, 19 Jun 2020 16:05:36 +0000 (11:05 -0500)]
Added foreign functions (WASM imports)
Brendan Hansen [Fri, 19 Jun 2020 03:09:00 +0000 (22:09 -0500)]
Started work on importing external functions
Brendan Hansen [Thu, 18 Jun 2020 20:13:24 +0000 (15:13 -0500)]
Added numeric literals and changes to bh_imap
Brendan Hansen [Thu, 18 Jun 2020 00:09:13 +0000 (19:09 -0500)]
Lots of small changes; initial function calling
Brendan Hansen [Wed, 17 Jun 2020 03:37:07 +0000 (22:37 -0500)]
Many small changes; working on function calls
This version does not work for the minimal.onyx.
Brendan Hansen [Tue, 16 Jun 2020 04:12:17 +0000 (23:12 -0500)]
Code clean up and added "start" section output
Brendan Hansen [Mon, 15 Jun 2020 16:02:31 +0000 (11:02 -0500)]
GENERATING A WORKING BINARY!
Brendan Hansen [Mon, 15 Jun 2020 03:38:36 +0000 (22:38 -0500)]
Generating an actual WASM binary!
No code section right now however; still lots of work to do.
Brendan Hansen [Sun, 14 Jun 2020 01:16:18 +0000 (20:16 -0500)]
Starting to output a binary for real.
Added LEB128 encodings
Brendan Hansen [Fri, 12 Jun 2020 03:44:13 +0000 (22:44 -0500)]
Added flexible buffer implementation
Brendan Hansen [Thu, 11 Jun 2020 16:04:12 +0000 (11:04 -0500)]
Progress on basic WASM code generation
Brendan Hansen [Thu, 11 Jun 2020 14:02:52 +0000 (09:02 -0500)]
Lots of changes
Brendan Hansen [Wed, 10 Jun 2020 15:02:22 +0000 (10:02 -0500)]
Bug fix
I don't know how this ever worked...
Brendan Hansen [Tue, 9 Jun 2020 20:38:32 +0000 (15:38 -0500)]
Even more bug fixes for bh_hash
Brendan Hansen [Tue, 9 Jun 2020 17:04:45 +0000 (12:04 -0500)]
Another tiny bugfix on bh_hash implementation
Brendan Hansen [Tue, 9 Jun 2020 15:09:00 +0000 (10:09 -0500)]
Bug fix in new bh_hash implementation
Brendan Hansen [Tue, 9 Jun 2020 15:02:24 +0000 (10:02 -0500)]
Changed implementation for bh_hash
Brendan Hansen [Tue, 9 Jun 2020 13:01:20 +0000 (08:01 -0500)]
Added exports to WASM Module and other bug fixes
Brendan Hansen [Fri, 5 Jun 2020 02:19:32 +0000 (21:19 -0500)]
Bug fixes
Brendan Hansen [Fri, 5 Jun 2020 02:11:25 +0000 (21:11 -0500)]
Changed comment syntax
Brendan Hansen [Thu, 4 Jun 2020 15:52:33 +0000 (10:52 -0500)]
Starting work on WASM code generation
Brendan Hansen [Wed, 3 Jun 2020 16:27:03 +0000 (11:27 -0500)]
Spelling fix
Brendan Hansen [Tue, 2 Jun 2020 21:03:42 +0000 (16:03 -0500)]
Bug fixes; preparing to start WASM code gen
Brendan Hansen [Tue, 2 Jun 2020 03:15:44 +0000 (22:15 -0500)]
Started using CCLS instead of clangd