operator: add script-block pseudo-operator
This commit is contained in:
+14
-10
@@ -18,10 +18,6 @@
|
||||
|
||||
/* clang-format off */
|
||||
static const struct operator_info operators[] = {
|
||||
OP(SUBEXPR, PARENTHESIS, LEFT, PREFIX, UNARY),
|
||||
OP(ARRAY_START, PARENTHESIS, LEFT, PREFIX, UNARY),
|
||||
OP(PAREN, PARENTHESIS, LEFT, PREFIX, UNARY),
|
||||
OP(HASHTABLE_START, PARENTHESIS, LEFT, PREFIX, UNARY),
|
||||
OP(ACCESS, MEMBER_ACCESS, LEFT, INFIX, BINARY),
|
||||
OP(CONDITIONAL_ACCESS, MEMBER_ACCESS, LEFT, INFIX, BINARY),
|
||||
OP(STATIC_ACCESS, STATIC_ACCESS, LEFT, INFIX, BINARY),
|
||||
@@ -73,12 +69,20 @@ static const struct operator_info operators[] = {
|
||||
OP(LEFT_SHIFT, BITWISE, LEFT, INFIX, BINARY),
|
||||
OP(RIGHT_SHIFT, BITWISE, LEFT, INFIX, BINARY),
|
||||
|
||||
OP(ASSIGN, ASSIGN, LEFT, INFIX, BINARY),
|
||||
OP(ADD_ASSIGN, ASSIGN, LEFT, INFIX, BINARY),
|
||||
OP(SUBTRACT_ASSIGN, ASSIGN, LEFT, INFIX, BINARY),
|
||||
OP(MULTIPLY_ASSIGN, ASSIGN, LEFT, INFIX, BINARY),
|
||||
OP(DIVIDE_ASSIGN, ASSIGN, LEFT, INFIX, BINARY),
|
||||
OP(MODULO_ASSIGN, ASSIGN, LEFT, INFIX, BINARY),
|
||||
OP(ASSIGN, ASSIGN, RIGHT, INFIX, BINARY),
|
||||
OP(ADD_ASSIGN, ASSIGN, RIGHT, INFIX, BINARY),
|
||||
OP(SUBTRACT_ASSIGN, ASSIGN, RIGHT, INFIX, BINARY),
|
||||
OP(MULTIPLY_ASSIGN, ASSIGN, RIGHT, INFIX, BINARY),
|
||||
OP(DIVIDE_ASSIGN, ASSIGN, RIGHT, INFIX, BINARY),
|
||||
OP(MODULO_ASSIGN, ASSIGN, RIGHT, INFIX, BINARY),
|
||||
|
||||
/* these are not real operators, and are just used internally by the
|
||||
* parser. */
|
||||
OP(SUBEXPR, PARENTHESIS, LEFT, PREFIX, UNARY),
|
||||
OP(ARRAY_START, PARENTHESIS, LEFT, PREFIX, UNARY),
|
||||
OP(PAREN, PARENTHESIS, LEFT, PREFIX, UNARY),
|
||||
OP(HASHTABLE_START, PARENTHESIS, LEFT, PREFIX, UNARY),
|
||||
OP(SCRIPTBLOCK, PARENTHESIS, LEFT, PREFIX, UNARY),
|
||||
};
|
||||
static const size_t nr_operators = sizeof operators / sizeof operators[0];
|
||||
|
||||
|
||||
@@ -104,6 +104,7 @@ enum operator_id {
|
||||
OP_CAST,
|
||||
OP_SUBEXPR,
|
||||
OP_PAREN,
|
||||
OP_SCRIPTBLOCK,
|
||||
OP_ARRAY_START,
|
||||
OP_HASHTABLE_START,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user