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
+37 -12
View File
@@ -2,24 +2,34 @@
Parser (No Parameters)
=========================
parser simple() {
state testing {}
}
state start {
transition accept;
}
};
---
(p4program
(declaration
(parserDeclaration
(parserTypeDeclaration
(parserType
(parser)
parser_name: (identifier)
(identifier)
)
(parserStates
(parserState
(state)
(identifier)
)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(identifier)
)
)
(semicolon)
)
)
)
(semicolon)
)
)
@@ -28,28 +38,43 @@ parser simple() {
Parser (Parameters)
=========================
parser imple(bool pname) {
state testing {}
}
state start {
transition accept;
}
};
---
(p4program
(declaration
(parserDeclaration
(parserTypeDeclaration
(parserType
(parser)
(identifier)
(nonEmptyParameterList
(parameterList
(parameter
(typeRef
(baseType
(bool)))
(identifier))))
(bool)
)
)
(identifier)
)
)
)
(parserStates
(parserState
(state)
(identifier)
)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(identifier)
)
)
(semicolon)
)
)
)
(semicolon)
)
)