Flesh Out P4 Grammar

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
This commit is contained in:
Will Hawkins
2026-01-17 00:02:43 -05:00
parent 08beba6cb1
commit c78afa5418
5 changed files with 360 additions and 33 deletions
@@ -0,0 +1,88 @@
=========================
Simple Transition Statement (To Identifier)
=========================
parser simple() {
state start {
transition accept;
}
};
---
(p4program
(declaration
(parserDeclaration
(parserType
(parser)
(identifier)
)
(parserStates
(parserState
(state)
(identifier)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(identifier)
)
)
(semicolon)
)
)
)
(semicolon)
)
)
=========================
Simple Transition Statement (To Select Expression)
=========================
parser simple() {
state start {
transition select (se) {
true: next_state;
};
}
};
---
(p4program
(declaration
(parserDeclaration
(parserType
(parser)
(identifier)
)
(parserStates
(parserState
(state)
(identifier)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(selectExpression
(select)
(expression
(identifier)
)
(selectBody
(selectCase
(keysetExpression
(expression
(true)
)
)
(colon)
(identifier)
)
(semicolon)
)
)
)
)
(semicolon)
)
)
)
(semicolon)
)
)