diff options
Diffstat (limited to 'src/yuescript/yue_parser.cpp')
-rwxr-xr-x | src/yuescript/yue_parser.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/yuescript/yue_parser.cpp b/src/yuescript/yue_parser.cpp index 6ecd369..5628062 100755 --- a/src/yuescript/yue_parser.cpp +++ b/src/yuescript/yue_parser.cpp | |||
@@ -323,7 +323,8 @@ YueParser::YueParser() { | |||
323 | expr("&") | | 323 | expr("&") | |
324 | expr("|") | | 324 | expr("|") | |
325 | expr(">>") | | 325 | expr(">>") | |
326 | expr("<<"); | 326 | expr("<<") | |
327 | expr("??"); | ||
327 | 328 | ||
328 | Update = Space >> update_op >> expr("=") >> Exp; | 329 | Update = Space >> update_op >> expr("=") >> Exp; |
329 | 330 | ||
@@ -360,7 +361,7 @@ YueParser::YueParser() { | |||
360 | expr("//") | | 361 | expr("//") | |
361 | set("+-*/%><|&~"); | 362 | set("+-*/%><|&~"); |
362 | exp_op_value = Space >> BinaryOperator >> *SpaceBreak >> pipe_exp; | 363 | exp_op_value = Space >> BinaryOperator >> *SpaceBreak >> pipe_exp; |
363 | Exp = Seperator >> pipe_exp >> *exp_op_value; | 364 | Exp = Seperator >> pipe_exp >> *exp_op_value >> -(Space >> expr("??") >> Exp); |
364 | 365 | ||
365 | DisableChain = pl::user(true_(), [](const item_t& item) { | 366 | DisableChain = pl::user(true_(), [](const item_t& item) { |
366 | State* st = reinterpret_cast<State*>(item.user_data); | 367 | State* st = reinterpret_cast<State*>(item.user_data); |
@@ -424,7 +425,7 @@ YueParser::YueParser() { | |||
424 | Metatable = expr('#'); | 425 | Metatable = expr('#'); |
425 | Metamethod = Name >> expr('#'); | 426 | Metamethod = Name >> expr('#'); |
426 | 427 | ||
427 | existential_op = expr('?'); | 428 | existential_op = expr('?') >> not_(expr('?')); |
428 | chain_call = (Callable | String) >> -existential_op >> ChainItems; | 429 | chain_call = (Callable | String) >> -existential_op >> ChainItems; |
429 | chain_item = and_(set(".\\")) >> ChainItems; | 430 | chain_item = and_(set(".\\")) >> ChainItems; |
430 | chain_dot_chain = DotChainItem >> -existential_op >> -ChainItems; | 431 | chain_dot_chain = DotChainItem >> -existential_op >> -ChainItems; |