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
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
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
04627f20e2
Support Setting Arrays/Fields
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-03-20 04:29:37 -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
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
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
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
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
271092359c
Make Formatter Happy
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-03-10 05:53:11 -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
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
81b9345c7f
Make Formatter Happy
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-03-06 21:40:37 -05:00
Will Hawkins
eff19df968
Completely Refactor Execution
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-03-06 21:40:19 -05:00
Will Hawkins
f96350f89d
Make Formatter Happy
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-03-06 08:03:07 -05:00
Will Hawkins
c3b3be77eb
Update Compiler To Use Macros
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-03-06 08:02:35 -05:00
Will Hawkins
f778ee384e
Add NodeType-Checking Macros
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-03-06 07:47:05 -05:00
Will Hawkins
59d56e7b73
Make Formatter Happy
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-03-02 08:26:37 -05:00
Will Hawkins
6dba17c97a
Refactor Parsing -> Compiling
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-03-02 08:25:29 -05:00
Will Hawkins
cfe78a9b29
Semicolon Cleanup
...
1. Semicolons were required in the wrong spot.
2. Make semicolons "invisible" (from the tree-sitter perspective).
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-27 08:23:27 -05:00
Will Hawkins
1495074459
Add UseErrorResult Macro
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-27 08:22:50 -05:00
Will Hawkins
2c5bfc3e1c
Start Moving Away From Queries
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-27 06:16:14 -05:00
Will Hawkins
2c7f71dbd4
Make Formatter Happy
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-24 06:10:33 -05:00
Will Hawkins
a2335a01ed
Initial Support For If Statements
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-24 06:08:12 -05:00
Will Hawkins
5dbb8d3d60
Make Formatter Happy
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-24 00:44:04 -05:00
Will Hawkins
b4c5ce55e1
Remove Debugging Print
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-24 00:30:40 -05:00
Will Hawkins
64a0fe4255
Refactor Parsing/Runtime
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-24 00:28:41 -05:00
Will Hawkins
f9353c683e
Use Generic Scope for Lexical Scope
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-24 00:28:04 -05:00
Will Hawkins
d0d00857ff
Generic Scope Type
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-24 00:27:29 -05:00
Will Hawkins
d9c8c5aeb0
Refactor Runtime
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-19 22:50:19 -05:00
Will Hawkins
3693bdc02d
Start Evaluation
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-10 03:37:57 -05:00
Will Hawkins
c3fdfb62e8
Refactor Type System
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-06 07:46:18 -05:00
Will Hawkins
989c9b1212
Refactor
...
Refactor into four major components:
1. Common: Things shared among all other components.
2. Lang: P4-language-related components.
3. Runtime: Components required to run a P4 program.
4. Parser: Components for parsing a P4 program from source.
Other components:
1. Macros
2. Tests
3. TreeSitterExtensions: Extra tree sitter functionality
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-02-03 08:22:58 -05:00
Will Hawkins
1203c0c90a
Improve Parsing of P4 Parsers And Continue Runtime Implementation
...
1. Parsing of P4 Parsers was broken: Multiple local elements and
statements were not allowed.
2. Support more functionality on scopes.
3. Refactor variable/identifier.
4. Add more tests.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-01-30 08:33:40 -05:00
Will Hawkins
23b775bf4f
Conditionally Support CustomStringConvertible on Result
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-01-30 08:33:40 -05:00
Will Hawkins
27332870d9
Factor Tree-Sitter Extensions
...
Don't build.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-01-30 08:33:40 -05:00
Will Hawkins
78a1121a3c
Add Testing Macros
...
Don't build.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-01-30 08:33:32 -05:00