Files
gp4/tree-sitter-p4/test/corpus/declarations.txt
T
Will Hawkins d8f6ff3b0b Update Variable Declarations
Refactor a literal '=' to a production and allow expressions
of string-literal type.

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
2026-01-30 08:24:44 -05:00

201 lines
2.9 KiB
Plaintext

=========================
Simple Declaration
=========================
parser simple() {
state start {
bool l;
transition accept;
}
};
---
(p4program
(declaration
(parserDeclaration
(parserType
(parser)
(identifier)
)
(parserStates
(parserState
(state)
(identifier)
(parserLocalElements
(parserLocalElement
(variableDeclaration
(typeRef
(baseType
(bool)
)
)
(identifier)
)
)
(semicolon)
)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(identifier)
)
)
(semicolon)
)
)
)
(semicolon)
)
)
=========================
Simple Declaration (int)
=========================
parser simple() {
state start {
int l;
transition accept;
}
};
---
(p4program
(declaration
(parserDeclaration
(parserType
(parser)
(identifier)
)
(parserStates
(parserState
(state)
(identifier)
(parserLocalElements
(parserLocalElement
(variableDeclaration
(typeRef
(baseType
(int)
)
)
(identifier)
)
)
(semicolon)
)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(identifier)
)
)
(semicolon)
)
)
)
(semicolon)
)
)
=========================
Simple Declaration (string)
=========================
parser simple() {
state start {
string l;
transition accept;
}
};
---
(p4program
(declaration
(parserDeclaration
(parserType
(parser)
(identifier)
)
(parserStates
(parserState
(state)
(identifier)
(parserLocalElements
(parserLocalElement
(variableDeclaration
(typeRef
(baseType
(string)
)
)
(identifier)
)
)
(semicolon)
)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(identifier)
)
)
(semicolon)
)
)
)
(semicolon)
)
)
=========================
Simple Declaration (string with initial value)
=========================
parser simple() {
state start {
string l = "testing";
transition accept;
}
};
---
(p4program
(declaration
(parserDeclaration
(parserType
(parser)
(identifier)
)
(parserStates
(parserState
(state)
(identifier)
(parserLocalElements
(parserLocalElement
(variableDeclaration
(typeRef
(baseType
(string)
)
)
(identifier)
(assignment)
(expression
(string_literal)
)
)
)
(semicolon)
)
(parserTransitionStatement
(transition)
(transitionSelectionExpression
(identifier)
)
)
(semicolon)
)
)
)
(semicolon)
)
)