Skip to content

Commit 5c21051

Browse files
committed
feat: support paired expressions (match operator)
1 parent 3d4fa8f commit 5c21051

File tree

1 file changed

+10
-1
lines changed
  • src/main/kotlin/com/github/xepozz/php_opcodes_language/language/parser

1 file changed

+10
-1
lines changed

src/main/kotlin/com/github/xepozz/php_opcodes_language/language/parser/PHPOp.bnf

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ instruction ::= parameter argument*
118118
}
119119
private instruction_recovery ::= !(EOL)
120120

121-
argument ::= paren_expr | array_expr | expr
121+
argument ::= paren_expr | array_expr | expr_pairs | expr
122122
private expr ::= three_dots | var_name | string_literal | float_value | line_number | paren_parameter | parameter
123123

124124
paren_parameter ::= parameter paren_expr
@@ -147,6 +147,15 @@ private three_dots ::= DOT DOT DOT
147147
{
148148
}
149149

150+
expr_pairs ::= paired_expr (COMMA paired_expr)*
151+
152+
paired_expr ::= paired_expr_key COLON paired_expr_value
153+
{
154+
pin=2
155+
}
156+
paired_expr_key ::= expr
157+
paired_expr_value ::= expr
158+
150159
paren_expr ::= LPAREN expr RPAREN
151160
{
152161
pin=1

0 commit comments

Comments
 (0)