Will Hawkins
8bcb578f18
Test macOS Runner
...
Continuous Integration / Library Tests (push) Failing after 6s
Continuous Integration / Library Format Tests (push) Failing after 7s
Continuous Integration / Grammar Tests (push) Failing after 6s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-05 02:33:29 -04:00
Will Hawkins
beae736dea
Test macOS Runner
...
Continuous Integration / Library Tests (push) Failing after 11s
Continuous Integration / Library Format Tests (push) Failing after 11s
Continuous Integration / Grammar Tests (push) Failing after 12s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-05 02:25:01 -04:00
Will Hawkins
0860aff036
Test macOS Runner
...
Continuous Integration / Library Tests (push) Failing after 10s
Continuous Integration / Library Format Tests (push) Failing after 10s
Continuous Integration / Grammar Tests (push) Failing after 7s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-05 01:33:31 -04:00
Will Hawkins
ee9ebbc8ee
Test macOS Runner
...
Continuous Integration / Library Tests (push) Failing after 6s
Continuous Integration / Library Format Tests (push) Failing after 7s
Continuous Integration / Grammar Tests (push) Failing after 1m32s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-05 00:38:10 -04:00
Will Hawkins
2fe76d1bc0
Test macOS Runner
...
Continuous Integration / Library Tests (push) Failing after 5s
Continuous Integration / Library Format Tests (push) Failing after 5s
Continuous Integration / Grammar Tests (push) Failing after 6s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-05 00:17:08 -04:00
Will Hawkins
9850e754b4
Test macOS Runner
...
Continuous Integration / Grammar Tests (push) Failing after 6s
Continuous Integration / Library Format Tests (push) Failing after 6s
Continuous Integration / Library Tests (push) Failing after 6s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-05 00:11:27 -04:00
Will Hawkins
83cb9f4f52
Test macOS Runner
...
Continuous Integration / Grammar Tests (push) Failing after 1m30s
Continuous Integration / Library Tests (push) Failing after 1m35s
Continuous Integration / Library Format Tests (push) Failing after 1m35s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-05 00:00:14 -04:00
Will Hawkins
d820b4e0ec
Test macOS Runner
...
Continuous Integration / Library Tests (push) Failing after 6s
Continuous Integration / Library Format Tests (push) Failing after 6s
Continuous Integration / Grammar Tests (push) Failing after 1m29s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 23:29:54 -04:00
Will Hawkins
3bad43535d
Test macOS Runner
...
Continuous Integration / Grammar Tests (push) Failing after 5s
Continuous Integration / Library Tests (push) Failing after 5s
Continuous Integration / Library Format Tests (push) Failing after 6s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 23:26:49 -04:00
Will Hawkins
6d59e17c5a
Test macOS Runner
...
Continuous Integration / Library Tests (push) Failing after 6s
Continuous Integration / Library Format Tests (push) Failing after 5s
Continuous Integration / Grammar Tests (push) Failing after 5s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 23:19:20 -04:00
Will Hawkins
6eaf2041a1
Test macOS Runner
...
Continuous Integration / Library Tests (push) Failing after 5s
Continuous Integration / Library Format Tests (push) Failing after 6s
Continuous Integration / Grammar Tests (push) Failing after 5s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 23:15:06 -04:00
Will Hawkins
dd0bbbe479
Make Formatter Happy
...
Continuous Integration / Grammar Tests (push) Failing after 5s
Continuous Integration / Library Tests (push) Failing after 5s
Continuous Integration / Library Format Tests (push) Failing after 6s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 22:25:51 -04:00
Will Hawkins
7a36ca32dd
compiler, runtime: Support Formatted Error Messages
...
Make it possible to output formatted error messages using a
flexible API that includes an ability to specify styles and
formatters.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 22:24:28 -04:00
Will Hawkins
783aac26c7
compiler: Use New Error API to Accumulate Errors
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 22:23:52 -04:00
Will Hawkins
e4d6daa8fe
Make Formatter Happy
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 11:31:50 -04:00
Will Hawkins
333270deee
cli: Add Initial Cli Work
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 11:31:44 -04:00
Will Hawkins
73779d8074
common, testing: Add Formatting of Error Messages
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 11:30:05 -04:00
Will Hawkins
3d4d26d07b
Make Formatter Happy
...
Continuous Integration / Library Format Tests (push) Has been cancelled
Continuous Integration / Grammar Tests (push) Failing after 1m30s
Continuous Integration / Library Tests (push) Failing after 8s
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 10:34:33 -04:00
Will Hawkins
168d48fa7c
compiler, runtime: Refactor Errors
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 10:34:07 -04:00
Will Hawkins
b49ec104e9
compiler, runtime: Make Default Values Optional
...
For types, make it optional to return a default value. While default
values for some types are meaningful, they are not meaningful for all
types (e.g., Action, Control, Parser, Parser state, etc.).
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 08:35:33 -04:00
Will Hawkins
5cfe5532a2
compiler, runtime: Refactor P4DataType to P4Type
...
Now that the old P4Type is a P4QualifiedType, it makes sense to
rename the data type back to just type.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 07:37:48 -04:00
Will Hawkins
7c660b2b0c
compiler, runtime: Refactor P4Type to P4QualifiedType
...
Also, refer to the different pieces of the qualified type as
qualifiers and not attributes.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-05-04 07:29:51 -04:00
Will Hawkins
a84e778e79
Make Formatter Happy
...
Continuous Integration / Grammar Tests (push) Has been cancelled
Continuous Integration / Library Tests (push) Has been cancelled
Continuous Integration / Library Format Tests (push) Has been cancelled
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-30 18:41:01 -04:00
Will Hawkins
ed976c7855
compiler, runtime: Initial Support For Calling Controls
...
Support calling (invoking) a Control. There is still plenty more to
do here, but we are off to a good start.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-30 18:39:52 -04:00
Will Hawkins
b934089fe7
common: Add a Table Hit/Miss Value/Type
...
When support for enums is added, we can replace this one-off.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-30 18:38:40 -04:00
Will Hawkins
bd262e5b73
runtime: Parameterize Runtime
...
Parameterize Runtime (nee ParserRuntime) so that it can run anything
that is LibraryCallable. TODO: Refactor its API -- left mostly as
it was because changing unit tests will be laborious.
2026-04-30 18:37:21 -04:00
Will Hawkins
b97aa1af72
parser, compiler: Support Table Actions
...
Continuous Integration / Grammar Tests (push) Has been cancelled
Continuous Integration / Library Tests (push) Has been cancelled
Continuous Integration / Library Format Tests (push) Has been cancelled
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-30 05:38:29 -04:00
Will Hawkins
833979a5c9
Make Formatter Happy
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-27 09:15:31 -04:00
Will Hawkins
75da49ba7e
documentation: Rename Project (2)
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-27 09:10:47 -04:00
Will Hawkins
0012963361
documentation: Rename Project
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-27 09:08:07 -04:00
Will Hawkins
8c0c16ed87
documentation: Update Note Protocol
...
Using /// rather than simply //.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-27 09:03:59 -04:00
Will Hawkins
0f0662709e
compiler, testing: Build System for Compilation
...
The compilation code was written as a precursor for implementation
with macros. The updates in this commit make the switch.
There is still plenty to do:
1. Comment Walker.
2. Comment Macros.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-27 08:39:40 -04:00
Will Hawkins
f2bd53ce5f
compiler, runtime, common: (Initial) Support For extern Declarations
...
Especially FFI
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-23 06:07:54 -04:00
Will Hawkins
74fead1eba
grammar: Parse externs
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-23 06:07:54 -04:00
Will Hawkins
a2d6aa0e28
runtime: Refactor ExecutionEvaluator
...
Move as much of the common functionality of executing a block
of statements into a common area as possible.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-23 06:07:54 -04:00
Will Hawkins
99d3d2bace
Make Formatter Happy
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 16:29:59 -04:00
Will Hawkins
a24571222b
runtime: Refactor Expression/Statement Evaluators
...
Allow the user to customize the evaluation/execution of expressions/
statements with something that implements functions that perform
those tasks. This additional functionality will make it possible for
the "classic" evaluator not to waste time checking for the presence
of interlopers and give implementers additional customization opportunities.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 16:28:07 -04:00
Will Hawkins
47cc52ea44
documentation: Correct typo
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 06:00:52 -04:00
Will Hawkins
5a9ef6ce4d
documentation: Describe NOTEs
...
Describe how/why notes are used in the code.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 05:59:27 -04:00
Will Hawkins
78a53d388f
runtime: Remove extraneous print
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 05:55:07 -04:00
Will Hawkins
883b4127e8
Make Formatter Happy
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 05:54:00 -04:00
Will Hawkins
d33066c543
compiler, runtime, testing, common: Centralize Execution/Evaluation
...
Centralize the execution of statements and evaluation of expressions
so that the user can specify a debugging "callback" after every
execution/evaluation.
The callback can be used for myriad things, but it seems likely that
it will be useful for implementing:
1. Testing
2. Debugger
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 05:53:43 -04:00
Will Hawkins
c6f086f67f
compiler, runtime: Control Declarations Have Apply Statements
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 03:35:55 -04:00
Will Hawkins
1847df7fab
compiler: Actions Have BlockStatements for Bodies
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 03:35:44 -04:00
Will Hawkins
f687353326
compiler, runtime: Evaluate Expressions in Expression Statements
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 03:35:00 -04:00
Will Hawkins
5bc9db9aca
compiler, common, testing: Support For Checking For Invalid Statements
...
Add support functions to check whether a (block of) statement(s) contains
any statements that should not appear in that block (e.g., switch in
an action).
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 03:25:58 -04:00
Will Hawkins
a3a06efdb4
grammar: Make apply statements have block bodies
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 03:25:07 -04:00
Will Hawkins
95c489ecd7
grammar: Refactor apply Grammar
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 02:39:33 -04:00
Will Hawkins
902dc945fd
grammar: Add apply to control declaration
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 02:27:36 -04:00
Will Hawkins
6cb28bc873
grammar: Add exit statement
...
Signed-off-by: Will Hawkins <hawkinsw@obs.cr >
2026-04-20 02:27:08 -04:00