summaryrefslogtreecommitdiff
path: root/src/yuescript/yue_parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuescript/yue_parser.cpp')
-rwxr-xr-x[-rw-r--r--]src/yuescript/yue_parser.cpp6
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