diff --git a/tree-sitter-p4/test/corpus/expressions.txt b/tree-sitter-p4/test/corpus/expressions.txt new file mode 100644 index 0000000..61a710b --- /dev/null +++ b/tree-sitter-p4/test/corpus/expressions.txt @@ -0,0 +1,168 @@ +========================= +Simple boolean Equality +========================= +parser simple() { + state start { + if (true == false) { + } + transition accept; + } +}; + +--- +(p4program + (declaration + (parserDeclaration + (parserType + (parser) + (identifier) + ) + (parserStates + (parserState + (state) + (identifier) + (parserStatements + (parserStatement + (conditionalStatement + (if) + (expression + (binaryOperatorExpression + (binaryEqualOperatorExpression + (expression + (booleanLiteralExpression + (true) + ) + ) + (double_equal) + (expression + (booleanLiteralExpression + (false) + ) + ) + ) + ) + ) + (statement + (blockStatement) + ) + ) + ) + ) + (parserTransitionStatement + (transition) + (transitionSelectionExpression + (identifier) + ) + ) + ) + ) + ) + ) +) + +========================= +Simple Integer Equality +========================= +parser simple() { + state start { + if (1 == 2) { + } + transition accept; + } +}; + +--- +(p4program + (declaration + (parserDeclaration + (parserType + (parser) + (identifier) + ) + (parserStates + (parserState + (state) + (identifier) + (parserStatements + (parserStatement + (conditionalStatement + (if) + (expression + (binaryOperatorExpression + (binaryEqualOperatorExpression + (expression + (integer) + ) + (double_equal) + (expression + (integer) + ) + ) + ) + ) + (statement + (blockStatement) + ) + ) + ) + ) + (parserTransitionStatement + (transition) + (transitionSelectionExpression + (identifier) + ) + ) + ) + ) + ) + ) +) +========================= +Simple Array Access +========================= +parser simple() { + state start { + undeclared_array[5]; + transition accept; + } +}; + +--- +(p4program + (declaration + (parserDeclaration + (parserType + (parser) + (identifier) + ) + (parserStates + (parserState + (state) + (identifier) + (parserStatements + (parserStatement + (expressionStatement + (expression + (arrayAccessExpression + (identifier) + (open_bracket) + (expression + (integer) + ) + (close_bracket) + ) + ) + ) + ) + ) + (parserTransitionStatement + (transition) + (transitionSelectionExpression + (identifier) + ) + ) + ) + ) + ) + ) +)