onyx.git
4 years agobugfix with compile time expression as array size
Brendan Hansen [Mon, 10 Aug 2020 19:54:58 +0000 (14:54 -0500)]
bugfix with compile time expression as array size

4 years agostarted work on reducing compile time known values
Brendan Hansen [Mon, 10 Aug 2020 19:45:33 +0000 (14:45 -0500)]
started work on reducing compile time known values

4 years agoadded memory reservation initial values
Brendan Hansen [Mon, 10 Aug 2020 17:43:49 +0000 (12:43 -0500)]
added memory reservation initial values

4 years agostring literal data section improvement
Brendan Hansen [Mon, 10 Aug 2020 15:27:14 +0000 (10:27 -0500)]
string literal data section improvement

4 years agosmall bugfix for binary operator checking
Brendan Hansen [Mon, 10 Aug 2020 15:19:16 +0000 (10:19 -0500)]
small bugfix for binary operator checking

4 years agosmall improvement for binary operator checking
Brendan Hansen [Mon, 10 Aug 2020 14:23:33 +0000 (09:23 -0500)]
small improvement for binary operator checking

4 years agoadded char literals and fixed cast bugs
Brendan Hansen [Mon, 10 Aug 2020 13:54:03 +0000 (08:54 -0500)]
added char literals and fixed cast bugs

4 years agobugfixes
Brendan Hansen [Mon, 10 Aug 2020 03:07:02 +0000 (22:07 -0500)]
bugfixes

4 years agoCode cleanup for numeric literals
Brendan Hansen [Mon, 10 Aug 2020 02:45:14 +0000 (21:45 -0500)]
Code cleanup for numeric literals

4 years agorandom improvements
Brendan Hansen [Mon, 10 Aug 2020 02:06:14 +0000 (21:06 -0500)]
random improvements

4 years agosmall bugfix with struct typing
Brendan Hansen [Sat, 8 Aug 2020 16:17:32 +0000 (11:17 -0500)]
small bugfix with struct typing

4 years agosmall bugfixes
Brendan Hansen [Sat, 8 Aug 2020 03:38:51 +0000 (22:38 -0500)]
small bugfixes

4 years agousing wasm local when possible again
Brendan Hansen [Sat, 8 Aug 2020 03:34:42 +0000 (22:34 -0500)]
using wasm local when possible again

4 years agoConverted to using a proper stack system; many improvements will be needed but it...
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

4 years agoAdded '#file_contents' directive to expression
Brendan Hansen [Thu, 6 Aug 2020 22:26:42 +0000 (17:26 -0500)]
Added '#file_contents' directive to expression

4 years agoparser is now more fault tolerant to unexpected tokens
Brendan Hansen [Tue, 4 Aug 2020 20:17:28 +0000 (15:17 -0500)]
parser is now more fault tolerant to unexpected tokens

4 years agoVery sad but working implementation of hex literals
Brendan Hansen [Mon, 3 Aug 2020 20:58:08 +0000 (15:58 -0500)]
Very sad but working implementation of hex literals

4 years agoAdded '#private' directive for package limited scope
Brendan Hansen [Mon, 3 Aug 2020 15:00:05 +0000 (10:00 -0500)]
Added '#private' directive for package limited scope

4 years agoAdded adding and subtracting from pointers with C style pointer arithmetic
Brendan Hansen [Sun, 2 Aug 2020 20:08:14 +0000 (15:08 -0500)]
Added adding and subtracting from pointers with C style pointer arithmetic

4 years agoa 'do' statement is now allowed anywhere a single statement block would be
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

4 years agodeferred statement bugfixes
Brendan Hansen [Thu, 30 Jul 2020 22:58:47 +0000 (17:58 -0500)]
deferred statement bugfixes

4 years agoAdded deferred statements; maybe a little buggy
Brendan Hansen [Thu, 30 Jul 2020 20:04:15 +0000 (15:04 -0500)]
Added deferred statements; maybe a little buggy

4 years agocasting from void is not allowed
Brendan Hansen [Thu, 30 Jul 2020 03:45:55 +0000 (22:45 -0500)]
casting from void is not allowed

4 years agoTesting language features; small bugfixes
Brendan Hansen [Thu, 30 Jul 2020 03:41:08 +0000 (22:41 -0500)]
Testing language features; small bugfixes

4 years agoChanged cast syntax; added basic heap allocator in onyx
Brendan Hansen [Wed, 29 Jul 2020 22:17:48 +0000 (17:17 -0500)]
Changed cast syntax; added basic heap allocator in onyx

4 years agosmall updates; removing onyxir
Brendan Hansen [Tue, 28 Jul 2020 22:14:19 +0000 (17:14 -0500)]
small updates; removing onyxir

4 years agoSmall bugfixes
Brendan Hansen [Tue, 28 Jul 2020 18:29:30 +0000 (13:29 -0500)]
Small bugfixes

4 years agoAdded basic type aliasing
Brendan Hansen [Tue, 28 Jul 2020 16:38:07 +0000 (11:38 -0500)]
Added basic type aliasing

4 years agotesting with 'first-class' procedures
Brendan Hansen [Tue, 28 Jul 2020 04:15:56 +0000 (23:15 -0500)]
testing with 'first-class' procedures

4 years agoAdded procedure declarations at the expression level; properly using elems now
Brendan Hansen [Mon, 27 Jul 2020 21:37:39 +0000 (16:37 -0500)]
Added procedure declarations at the expression level; properly using elems now

4 years agoBug fixes with first class functions
Brendan Hansen [Mon, 27 Jul 2020 20:43:05 +0000 (15:43 -0500)]
Bug fixes with first class functions

4 years agoAdd indirect function calls (function pointers)
Brendan Hansen [Mon, 27 Jul 2020 20:29:26 +0000 (15:29 -0500)]
Add indirect function calls (function pointers)

4 years agonot filling the binary with thousands of unnecessary zeros
Brendan Hansen [Mon, 27 Jul 2020 15:50:17 +0000 (10:50 -0500)]
not filling the binary with thousands of unnecessary zeros

4 years agoSmall improvement to errors with use parameters
Brendan Hansen [Mon, 27 Jul 2020 14:50:28 +0000 (09:50 -0500)]
Small improvement to errors with use parameters

4 years agoAdded ability to 'use' parameters
Brendan Hansen [Mon, 27 Jul 2020 14:48:04 +0000 (09:48 -0500)]
Added ability to 'use' parameters

4 years agoStarted basics of pointers to sized data
Brendan Hansen [Mon, 27 Jul 2020 03:50:23 +0000 (22:50 -0500)]
Started basics of pointers to sized data

4 years agoAdded flags directive to enums
Brendan Hansen [Sun, 26 Jul 2020 19:40:51 +0000 (14:40 -0500)]
Added flags directive to enums

4 years agoAdded 'alignof' unary operator and alignment checking on structs
Brendan Hansen [Sun, 26 Jul 2020 16:51:35 +0000 (11:51 -0500)]
Added 'alignof' unary operator and alignment checking on structs

4 years agoAdded initial implementation of enums; bugfixes will be needed
Brendan Hansen [Sun, 26 Jul 2020 16:22:36 +0000 (11:22 -0500)]
Added initial implementation of enums; bugfixes will be needed

4 years agoBugfix with package scopes
Brendan Hansen [Fri, 24 Jul 2020 23:54:16 +0000 (18:54 -0500)]
Bugfix with package scopes

4 years agoBug fixes in package system; package graph cycles are resolved
Brendan Hansen [Fri, 24 Jul 2020 16:08:30 +0000 (11:08 -0500)]
Bug fixes in package system; package graph cycles are resolved

4 years agoAdded field access to type signature so types can be from another package
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

4 years agoBIG changes to the way symbols are loaded; added a proper package system
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

4 years agosmall changes; setup sublime debugging
Brendan Hansen [Thu, 23 Jul 2020 22:16:08 +0000 (17:16 -0500)]
small changes; setup sublime debugging

4 years agoAdded basic dead code elimination at the function level; bug fixes
Brendan Hansen [Thu, 23 Jul 2020 18:34:45 +0000 (13:34 -0500)]
Added basic dead code elimination at the function level; bug fixes

4 years agoAdded bitwise operations
Brendan Hansen [Thu, 23 Jul 2020 18:09:46 +0000 (13:09 -0500)]
Added bitwise operations

4 years agoAdded boolean logical operators
Brendan Hansen [Thu, 23 Jul 2020 17:22:39 +0000 (12:22 -0500)]
Added boolean logical operators

4 years agoAdded struct member parameter splatted; effectively structs can pass by value
Brendan Hansen [Wed, 22 Jul 2020 19:07:37 +0000 (14:07 -0500)]
Added struct member parameter splatted; effectively structs can pass by value

4 years agoAdded 'splatting' of struct members to call arguments
Brendan Hansen [Wed, 22 Jul 2020 15:15:13 +0000 (10:15 -0500)]
Added 'splatting' of struct members to call arguments

4 years agoremoved old example files; added arbitrary break and continue targets
Brendan Hansen [Wed, 22 Jul 2020 14:12:37 +0000 (09:12 -0500)]
removed old example files; added arbitrary break and continue targets

4 years agoslight code cleanup
Brendan Hansen [Wed, 22 Jul 2020 13:46:23 +0000 (08:46 -0500)]
slight code cleanup

4 years agoAdded UFC syntax for function calls on structs
Brendan Hansen [Wed, 22 Jul 2020 13:33:25 +0000 (08:33 -0500)]
Added UFC syntax for function calls on structs

4 years agoBug fixes on interactions between struct members and arrays
Brendan Hansen [Tue, 21 Jul 2020 19:40:22 +0000 (14:40 -0500)]
Bug fixes on interactions between struct members and arrays

4 years agoAdded sublime syntax highlighting
Brendan Hansen [Tue, 21 Jul 2020 01:53:09 +0000 (20:53 -0500)]
Added sublime syntax highlighting

4 years agoAdded array types; need to flush out semantics
Brendan Hansen [Tue, 21 Jul 2020 01:43:08 +0000 (20:43 -0500)]
Added array types; need to flush out semantics

4 years agoAdded 'drop' instruction for ignored function return values
Brendan Hansen [Mon, 20 Jul 2020 22:11:45 +0000 (17:11 -0500)]
Added 'drop' instruction for ignored function return values

4 years agoremoved assignments in an expression
Brendan Hansen [Mon, 20 Jul 2020 21:56:34 +0000 (16:56 -0500)]
removed assignments in an expression

4 years agoAdded 'sizeof' unary operator
Brendan Hansen [Mon, 20 Jul 2020 21:27:14 +0000 (16:27 -0500)]
Added 'sizeof' unary operator

4 years agoAdded initial implementation of structs
Brendan Hansen [Mon, 20 Jul 2020 18:49:18 +0000 (13:49 -0500)]
Added initial implementation of structs

4 years agosmall potential bugfix
Brendan Hansen [Mon, 20 Jul 2020 02:54:32 +0000 (21:54 -0500)]
small potential bugfix

4 years agointegers are implicitly converted if they are the same size
Brendan Hansen [Mon, 20 Jul 2020 02:26:10 +0000 (21:26 -0500)]
integers are implicitly converted if they are the same size

4 years agosmall bugfixes; testing pointers
Brendan Hansen [Mon, 20 Jul 2020 01:37:53 +0000 (20:37 -0500)]
small bugfixes; testing pointers

4 years agoAdded '__heap_start' builtin; more cases for casting
Brendan Hansen [Mon, 20 Jul 2020 00:39:56 +0000 (19:39 -0500)]
Added '__heap_start' builtin; more cases for casting

4 years agosmall bugfix with for loop conditions
Brendan Hansen [Sun, 19 Jul 2020 20:03:27 +0000 (15:03 -0500)]
small bugfix with for loop conditions

4 years agoAdded basic for loops
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

4 years agoAdded address of and deference operators
Brendan Hansen [Sun, 19 Jul 2020 17:51:59 +0000 (12:51 -0500)]
Added address of and deference operators

4 years agocode cleanup
Brendan Hansen [Sun, 19 Jul 2020 16:49:18 +0000 (11:49 -0500)]
code cleanup

4 years agoAdded strings to the language
Brendan Hansen [Sun, 19 Jul 2020 15:48:51 +0000 (10:48 -0500)]
Added strings to the language
Currently they are null-terminated ^u8

4 years agoSlight refactoring and improvements
Brendan Hansen [Sat, 18 Jul 2020 22:12:29 +0000 (17:12 -0500)]
Slight refactoring and improvements

4 years agoCompletely refactored scope logic
Brendan Hansen [Sat, 18 Jul 2020 17:43:20 +0000 (12:43 -0500)]
Completely refactored scope logic

4 years agoslight optimization
Brendan Hansen [Sat, 18 Jul 2020 17:05:00 +0000 (12:05 -0500)]
slight optimization

4 years agoadded top-level procs without binding to symbol
Brendan Hansen [Sat, 18 Jul 2020 04:53:09 +0000 (23:53 -0500)]
added top-level procs without binding to symbol

4 years agoCode cleanup and uniformity
Brendan Hansen [Sat, 18 Jul 2020 04:21:39 +0000 (23:21 -0500)]
Code cleanup and uniformity

4 years agoSmall bugfixes
Brendan Hansen [Sat, 18 Jul 2020 03:37:32 +0000 (22:37 -0500)]
Small bugfixes

4 years agoAdded basic function overloading
Brendan Hansen [Sat, 18 Jul 2020 02:56:03 +0000 (21:56 -0500)]
Added basic function overloading

4 years agoTesting arrays as globals
Brendan Hansen [Sat, 18 Jul 2020 00:06:15 +0000 (19:06 -0500)]
Testing arrays as globals

4 years agoSmall bugfix
Brendan Hansen [Sat, 18 Jul 2020 00:01:14 +0000 (19:01 -0500)]
Small bugfix

4 years agoTesting array implementation
Brendan Hansen [Fri, 17 Jul 2020 23:52:49 +0000 (18:52 -0500)]
Testing array implementation

4 years agoAdded simple array mechanics; Cleaned up code in the process
Brendan Hansen [Fri, 17 Jul 2020 22:08:05 +0000 (17:08 -0500)]
Added simple array mechanics; Cleaned up code in the process

4 years agoif and while can now take any statement
Brendan Hansen [Fri, 17 Jul 2020 18:55:23 +0000 (13:55 -0500)]
if and while can now take any statement

4 years agofix from last code cleanup
Brendan Hansen [Fri, 17 Jul 2020 13:53:02 +0000 (08:53 -0500)]
fix from last code cleanup

4 years agoMerge branch 'master' of https://github.com/brendanfh/onyx
Brendan Hansen [Fri, 17 Jul 2020 13:51:30 +0000 (08:51 -0500)]
Merge branch 'master' of https://github.com/brendanfh/onyx

4 years agoCode cleanup
Brendan Hansen [Fri, 17 Jul 2020 13:45:05 +0000 (08:45 -0500)]
Code cleanup

4 years agoCode cleanup
Brendan Hansen [Fri, 17 Jul 2020 13:45:05 +0000 (08:45 -0500)]
Code cleanup

4 years agoAdded back WASM globals; small name changes
Brendan Hansen [Fri, 17 Jul 2020 04:24:13 +0000 (23:24 -0500)]
Added back WASM globals; small name changes

4 years agosmall changes and improvements
Brendan Hansen [Thu, 16 Jul 2020 21:21:02 +0000 (16:21 -0500)]
small changes and improvements

4 years agoAdded a proper function type
Brendan Hansen [Thu, 16 Jul 2020 20:38:43 +0000 (15:38 -0500)]
Added a proper function type

4 years agoChanged implementation of imap from BST to hash table
Brendan Hansen [Thu, 16 Jul 2020 18:56:48 +0000 (13:56 -0500)]
Changed implementation of imap from BST to hash table

4 years agoStarted working on an IR; decided it's not needed
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

4 years agoMAJOR CHANGES TO THE LANGUAGE
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

4 years agosmall bugfixes
Brendan Hansen [Tue, 14 Jul 2020 22:42:44 +0000 (17:42 -0500)]
small bugfixes

4 years agoSlight alignment fix
Brendan Hansen [Tue, 14 Jul 2020 16:33:17 +0000 (11:33 -0500)]
Slight alignment fix

4 years agoAdded parsing of boolean not
Brendan Hansen [Tue, 14 Jul 2020 15:41:57 +0000 (10:41 -0500)]
Added parsing of boolean not

4 years agoSmall bugfixes
Brendan Hansen [Tue, 14 Jul 2020 15:07:42 +0000 (10:07 -0500)]
Small bugfixes

4 years agoSmall bugfix with cast generation; updated onyx.vim
Brendan Hansen [Mon, 13 Jul 2020 15:11:21 +0000 (10:11 -0500)]
Small bugfix with cast generation; updated onyx.vim

4 years agoFixed many bugs with type system; Ready to start pointers
Brendan Hansen [Mon, 13 Jul 2020 03:21:54 +0000 (22:21 -0500)]
Fixed many bugs with type system; Ready to start pointers

4 years agoRevamping type system;
Brendan Hansen [Fri, 10 Jul 2020 04:36:39 +0000 (23:36 -0500)]
Revamping type system;
CODE IS VERY BROKEN

4 years agoMAJOR BREAKING CHANGES
Brendan Hansen [Thu, 9 Jul 2020 22:40:19 +0000 (17:40 -0500)]
MAJOR BREAKING CHANGES
Everything is broken right now

4 years agoBugfix for directive parsing
Brendan Hansen [Thu, 9 Jul 2020 18:25:11 +0000 (13:25 -0500)]
Bugfix for directive parsing

4 years agoSmall refactor; Added more detailed error printing
Brendan Hansen [Thu, 9 Jul 2020 17:49:39 +0000 (12:49 -0500)]
Small refactor; Added more detailed error printing