diff options
Diffstat (limited to '')
| -rwxr-xr-x[-rw-r--r--] | src/yuescript/yue_parser.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/yuescript/yue_parser.cpp b/src/yuescript/yue_parser.cpp index a3e70c6..d6e8c67 100644..100755 --- a/src/yuescript/yue_parser.cpp +++ b/src/yuescript/yue_parser.cpp | |||
| @@ -465,7 +465,7 @@ YueParser::YueParser() { | |||
| 465 | and_(expr('[')) >> LuaString | | 465 | and_(expr('[')) >> LuaString | |
| 466 | and_(expr('{')) >> TableLit); | 466 | and_(expr('{')) >> TableLit); |
| 467 | 467 | ||
| 468 | TableValue = KeyValueDef | Exp; | 468 | TableValue = ((KeyValue | Exp) >> not_(sym('='))) | meta_default_pair | default_pair; |
| 469 | 469 | ||
| 470 | table_lit_lines = SpaceBreak >> TableLitLine >> *(-sym(',') >> SpaceBreak >> TableLitLine) >> -sym(','); | 470 | table_lit_lines = SpaceBreak >> TableLitLine >> *(-sym(',') >> SpaceBreak >> TableLitLine) >> -sym(','); |
| 471 | 471 | ||
| @@ -538,7 +538,7 @@ YueParser::YueParser() { | |||
| 538 | symx(':') >> not_(':') >> | 538 | symx(':') >> not_(':') >> |
| 539 | (Exp | TableBlock | +SpaceBreak >> Exp); | 539 | (Exp | TableBlock | +SpaceBreak >> Exp); |
| 540 | 540 | ||
| 541 | default_pair = (sym(':') >> Variable >> not_('#') >> Seperator | KeyName >> symx(':') >> Seperator >> Exp) >> sym('=') >> Exp; | 541 | default_pair = (sym(':') >> Variable >> not_('#') >> Seperator | KeyName >> symx(':') >> Seperator >> Exp | Exp >> Seperator) >> sym('=') >> Exp; |
| 542 | 542 | ||
| 543 | meta_variable_pair = sym(':') >> Variable >> expr('#'); | 543 | meta_variable_pair = sym(':') >> Variable >> expr('#'); |
| 544 | 544 | ||
| @@ -548,8 +548,6 @@ YueParser::YueParser() { | |||
| 548 | meta_default_pair = (sym(':') >> Variable >> expr('#') >> Seperator | -Name >> expr("#:") >> Seperator >> Exp) >> sym('=') >> Exp; | 548 | meta_default_pair = (sym(':') >> Variable >> expr('#') >> Seperator | -Name >> expr("#:") >> Seperator >> Exp) >> sym('=') >> Exp; |
| 549 | 549 | ||
| 550 | KeyValue = variable_pair | normal_pair | meta_variable_pair | meta_normal_pair; | 550 | KeyValue = variable_pair | normal_pair | meta_variable_pair | meta_normal_pair; |
| 551 | KeyValueDef = (variable_pair | normal_pair | meta_variable_pair | meta_normal_pair) >> not_(sym('=')) | default_pair | meta_default_pair; | ||
| 552 | |||
| 553 | KeyValueList = KeyValue >> *(sym(',') >> KeyValue); | 551 | KeyValueList = KeyValue >> *(sym(',') >> KeyValue); |
| 554 | KeyValueLine = CheckIndent >> (KeyValueList >> -sym(',') | TableBlockIndent | Space >> expr('*') >> (Exp | TableBlock)); | 552 | KeyValueLine = CheckIndent >> (KeyValueList >> -sym(',') | TableBlockIndent | Space >> expr('*') >> (Exp | TableBlock)); |
| 555 | 553 | ||
