Add Support For Parsing Struct Field Access

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
This commit is contained in:
Will Hawkins
2026-03-16 08:30:57 -04:00
parent 75f9f68349
commit 8ee20fcf9f
2 changed files with 108 additions and 1 deletions
+105
View File
@@ -117,6 +117,7 @@ parser simple() {
)
)
)
=========================
Simple Array Access
=========================
@@ -168,3 +169,107 @@ parser simple() {
)
)
)
=========================
Simple Struct Access
=========================
parser simple() {
state start {
abc.xyz;
transition accept;
}
};
---
(p4program
(declaration
(parserDeclaration
(parserType
(parser)
(identifier)
)
(parserStates
(parserState
(state)
(identifier)
(parserStatements
(parserStatement
(expressionStatement
(expression
(fieldAccessExpression
(expression
(identifier)
)
(field_access)
(identifier)
)
)
)
)
)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(identifier)
)
)
)
)
)
)
)
=========================
Nested Struct Access
=========================
parser simple() {
state start {
abc.cde.xyz;
transition accept;
}
};
---
(p4program
(declaration
(parserDeclaration
(parserType
(parser)
(identifier)
)
(parserStates
(parserState
(state)
(identifier)
(parserStatements
(parserStatement
(expressionStatement
(expression
(fieldAccessExpression
(expression
(fieldAccessExpression
(expression
(identifier)
)
(field_access)
(identifier)
)
)
(field_access)
(identifier)
)
)
)
)
)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(identifier)
)
)
)
)
)
)
)