Commit Graph

138 Commits

Author SHA1 Message Date
Will Hawkins 07f1943611 Fix Warnings In Tests
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-04-02 01:30:33 -04:00
Will Hawkins d971aab1fe Support Calling Parsers With Parameters
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-04-02 01:28:43 -04:00
Will Hawkins 7cdbee1999 Refactor Parser For Parameter Lists
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-04-02 01:28:27 -04:00
Will Hawkins 8962235aca Support Parameters For Parsers
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-30 07:57:41 -04:00
Will Hawkins 744c375c5f Add Select Expression Ordering Test
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-30 05:18:36 -04:00
Will Hawkins 8299d76285 Make Formatter Happy
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-30 05:18:11 -04:00
Will Hawkins 3b9c3a7076 Add Select Expression Tests
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-30 05:18:00 -04:00
Will Hawkins 7c9ecc2438 Refactor Parser States
Refactor the class hierarchy for parser states so that
there is a parser state that acts more like a type and
one that acts more like a value (the latter, then, serves
as the base class for the other instantiated parser states).

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-30 05:16:48 -04:00
Will Hawkins fda9858680 Update README
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-27 03:57:36 -04:00
Will Hawkins 4d787394cd Fix Bug In Struct Field Initialization
Fields were not given default values when a struct was declared
without initializers.

Also, cleanup code in the helper function for binary operations
on struct instances.

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-27 03:54:44 -04:00
Will Hawkins cd26d1d22c Parse Struct Declarations
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-27 03:33:15 -04:00
Will Hawkins 5abaac2816 Add Some Coding Style Guidelines
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-27 01:42:25 -04:00
Will Hawkins 99804e3053 Better Support For Keysets
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-27 01:36:38 -04:00
Will Hawkins fafc80553e Support Binary Math Operators
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-26 23:48:39 -04:00
Will Hawkins 12ec6a77ed Make Formatter Happy
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-23 12:48:52 -04:00
Will Hawkins c410c48b38 Update .gitignore
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-23 07:56:37 -04:00
Will Hawkins 0d1a0b11df Add Binary Operator and Grouping (in Expressions) Tests
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-23 07:55:37 -04:00
Will Hawkins 2861a82777 Implement Binary Operators and Grouping (in Expressions)
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-23 07:55:11 -04:00
Will Hawkins 7c35b2b6e5 Binary Operators (and Grouping in Expressions)
Add support for <, <=, >, >=, && and ||.

Also, add support for grouping (with ( and )) in expressions.

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-23 07:53:41 -04:00
Will Hawkins 6ff7c5175d Make Formatter Happy
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-20 04:30:07 -04:00
Will Hawkins aac007f1f2 Allow Declaring Instances of Structs
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-20 04:29:44 -04:00
Will Hawkins f0d816b99f Refactor Names of Scope Types
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-20 04:29:44 -04:00
Will Hawkins 6a9a138afe Add Defaults For All Types
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-20 04:29:44 -04:00
Will Hawkins 0aef385afc Refactor Tests
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-20 04:29:44 -04:00
Will Hawkins 04627f20e2 Support Setting Arrays/Fields
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-20 04:29:37 -04:00
Will Hawkins d7696e822c Update README.md
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-16 08:37:17 -04:00
Will Hawkins 2fd5ecf8d6 Work On Derived Types
1. Add support for field access
2. Add support for proper type checking of array access
3. Add tests for nested field and array access

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-16 08:31:16 -04:00
Will Hawkins 8ee20fcf9f Add Support For Parsing Struct Field Access
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-16 08:30:57 -04:00
Will Hawkins 75f9f68349 Make Formatter Happy
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-13 09:45:43 -04:00
Will Hawkins 0b4db34177 Initial Array Access Implementation
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-13 09:45:03 -04:00
Will Hawkins 1982fda677 Array Identifier Should Be Expression
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-13 09:40:45 -04:00
Will Hawkins 4c63e7f92a Make Formatter Happy
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-13 08:27:41 -04:00
Will Hawkins d323434787 Begin Implementation of Binary Operator Support
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-13 08:26:47 -04:00
Will Hawkins 4a3a6bdf56 Add Tree Sitter Tests For Expressions
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-13 08:26:47 -04:00
Will Hawkins 16692de7b2 Add Grammar Support for == And Array Access
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-13 08:26:47 -04:00
Will Hawkins 377f40447f Add update Methods for Compilation Context
update method will allow the creation of a new compilation context
based on the current one with new types/names.

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-13 07:03:31 -04:00
Will Hawkins 636db140ce Untrack One-off Test File
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-13 06:27:29 -04:00
Will Hawkins 2f7d05a3fd Refactor Compilation Interface
Compilation interface(s) now contain a compilation context.
The change will make it easier to expand on what each step
of the compilation process needs to know to complete its task
without having to make major changes to the interface.

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-13 06:25:30 -04:00
Will Hawkins df841a0a1b Update README.md
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-10 06:04:23 -04:00
Will Hawkins 271092359c Make Formatter Happy
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-10 05:53:11 -04:00
Will Hawkins 4e9927c601 Add Tree Sitter Tests for Annotations (And General Test Updates)
Update Tests

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-10 05:52:04 -04:00
Will Hawkins 4269104379 Refactor Parser Interfaces
Do not pass around the MutableTree -- now that we are not
using queries for walking the AST, it is unnecessary.

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-10 05:52:04 -04:00
Will Hawkins 829bfb6ac8 Refactor Program Compilation
Do not use query.

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-10 05:52:04 -04:00
Will Hawkins f82c69e4f9 Add Tests For Unsupported Features
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-10 05:52:04 -04:00
Will Hawkins 3188b52965 Refactor Parsers and Parser States
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-10 03:56:18 -04:00
Will Hawkins 7c7416fa64 Make Formatter Happy
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-07 02:45:22 -05:00
Will Hawkins 0b84951f8b Fix String Interpolation Warning
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-07 01:14:13 -05:00
Will Hawkins 0e4262ea33 Remove Extraneous Experimental Flags
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-07 01:13:48 -05:00
Will Hawkins 570438b6ba Attempt To Enable Experimental Feature
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-07 00:58:47 -05:00
Will Hawkins 19b983653b Attempt To Enable Experimental Feature
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-03-07 00:39:26 -05:00