Support Function Calls

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
This commit is contained in:
Will Hawkins
2026-04-09 23:16:27 -04:00
parent 708f65a0a9
commit d39127ac17
21 changed files with 984 additions and 311 deletions
+128
View File
@@ -306,3 +306,131 @@ parser simple() {
)
)
)
=========================
Simple Function Call
=========================
parser simple() {
state start {
func();
transition accept;
}
};
---
(p4program
(declaration
(parserDeclaration
(parserType
(parser)
(identifier)
(parameters)
)
(parserStates
(parserState
(state)
(identifier)
(parserStatements
(parserStatement
(expressionStatement
(expression
(simple_expression
(function_call
(identifier)
(arguments)
)
)
)
)
)
)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(identifier)
)
)
)
)
)
)
)
=========================
Simple Function Call (With Arguments)
=========================
parser simple() {
state start {
func(1, true, variable);
transition accept;
}
};
---
(p4program
(declaration
(parserDeclaration
(parserType
(parser)
(identifier)
(parameters)
)
(parserStates
(parserState
(state)
(identifier)
(parserStatements
(parserStatement
(expressionStatement
(expression
(simple_expression
(function_call
(identifier)
(arguments
(argument_list
(argument_list
(argument_list
(argument
(expression
(simple_expression
(integer)
)
)
)
)
(argument
(expression
(simple_expression
(booleanLiteralExpression
(true)
)
)
)
)
)
(argument
(expression
(simple_expression
(identifier)
)
)
)
)
)
)
)
)
)
)
)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(identifier)
)
)
)
)
)
)
)