From 8ca03cdca527e3d3d8bb7bf9ad91dd22f44975c8 Mon Sep 17 00:00:00 2001 From: Will Hawkins Date: Fri, 6 Mar 2026 08:01:41 -0500 Subject: [PATCH] Add booleanLiteralExpression To Make Compiling Easier Signed-off-by: Will Hawkins --- tree-sitter-p4/grammar.js | 3 ++- tree-sitter-p4/test/corpus/statements.txt | 20 +++++++++++++++----- tree-sitter-p4/test/corpus/transitions.txt | 4 +++- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/tree-sitter-p4/grammar.js b/tree-sitter-p4/grammar.js index be52c52..44b09a4 100644 --- a/tree-sitter-p4/grammar.js +++ b/tree-sitter-p4/grammar.js @@ -88,7 +88,8 @@ export default grammar({ parserTransitionStatement: $ => seq($.transition, $.transitionSelectionExpression, $._semicolon), // Expressions - expression: $ => choice($.identifier, $.integer, $.true, $.false, $.string_literal), // Very limited. + expression: $ => choice($.identifier, $.integer, $.booleanLiteralExpression, $.string_literal), // Very limited. + booleanLiteralExpression: $ => choice($.true, $.false), selectExpression: $ => seq($.select, '(', $.expression, ')', '{', $.selectBody, '}'), // TODO: Should be expression list and not just a single expression transitionSelectionExpression: $ => choice($.identifier, $.selectExpression), keysetExpression: $ => $.expression, diff --git a/tree-sitter-p4/test/corpus/statements.txt b/tree-sitter-p4/test/corpus/statements.txt index 14e2219..58c9707 100644 --- a/tree-sitter-p4/test/corpus/statements.txt +++ b/tree-sitter-p4/test/corpus/statements.txt @@ -26,7 +26,9 @@ parser simple() { (conditionalStatement (if) (expression - (true) + (booleanLiteralExpression + (true) + ) ) (statement (blockStatement) @@ -75,7 +77,9 @@ parser simple() { (conditionalStatement (if) (expression - (true) + (booleanLiteralExpression + (true) + ) ) (statement (blockStatement) @@ -197,7 +201,9 @@ parser simple() { (identifier) (assignment) (expression - (true) + (booleanLiteralExpression + (true) + ) ) ) ) @@ -217,7 +223,9 @@ parser simple() { ) (assignment) (expression - (false) + (booleanLiteralExpression + (false) + ) ) ) ) @@ -278,7 +286,9 @@ parser simple() { (identifier) (assignment) (expression - (true) + (booleanLiteralExpression + (true) + ) ) ) ) diff --git a/tree-sitter-p4/test/corpus/transitions.txt b/tree-sitter-p4/test/corpus/transitions.txt index bdc1989..045c0ad 100644 --- a/tree-sitter-p4/test/corpus/transitions.txt +++ b/tree-sitter-p4/test/corpus/transitions.txt @@ -66,7 +66,9 @@ parser simple() { (selectCase (keysetExpression (expression - (true) + (booleanLiteralExpression + (true) + ) ) ) (colon)