grammar: Hide the return keyword in the grammar
And, add a grammar test for the return keyword. Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
This commit is contained in:
@@ -105,7 +105,7 @@ export default grammar({
|
||||
conditionalStatement: $ => choice(prec(1, seq($.if, '(', $.expression, ')', $.statement)), prec(2, seq($.if, '(', $.expression, ')', $.statement, $.else, $.statement))),
|
||||
expressionStatement: $=> seq($.expression, $._semicolon),
|
||||
assignmentStatement: $=> seq($.expression, $.assignment, $.expression, $._semicolon),
|
||||
return_statement: $=> seq($.return, $.expression, $._semicolon),
|
||||
return_statement: $=> seq($._return, $.expression, $._semicolon),
|
||||
|
||||
// Parser statements
|
||||
parserStatements: $ => repeat1($.parserStatement),
|
||||
@@ -189,7 +189,7 @@ export default grammar({
|
||||
parser: $ => "parser",
|
||||
package: $ => "package",
|
||||
pragma: $ => "pragma",
|
||||
return: $ => "return",
|
||||
_return: $ => "return",
|
||||
select: $ => "select",
|
||||
state: $ => "state",
|
||||
string: $ => "string",
|
||||
|
||||
@@ -1,4 +1,39 @@
|
||||
=========================
|
||||
Return Statement
|
||||
=========================
|
||||
int fun() {
|
||||
return 1;
|
||||
};
|
||||
---
|
||||
(p4program
|
||||
(declaration
|
||||
(function_declaration
|
||||
(typeRef
|
||||
(baseType
|
||||
(int)
|
||||
)
|
||||
)
|
||||
(identifier)
|
||||
(parameters)
|
||||
(statement
|
||||
(blockStatement
|
||||
(statements
|
||||
(statement
|
||||
(return_statement
|
||||
(expression
|
||||
(simple_expression
|
||||
(integer)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
=========================
|
||||
Simple If Statement (No Else)
|
||||
=========================
|
||||
parser simple() {
|
||||
|
||||
Reference in New Issue
Block a user