aboutsummaryrefslogtreecommitdiff
path: root/src/MoonP/moon_parser.cpp
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2021-02-08 13:38:07 +0800
committerLi Jin <dragon-fly@qq.com>2021-02-08 13:38:07 +0800
commit24dab43a753538dcf3b85bd09bf76c0a3c3c8b73 (patch)
tree51c59ddf8302657ae3cce5d28ba27c66737fc842 /src/MoonP/moon_parser.cpp
parent32651cccb380bf4682fa8f6d3e70d74952171f7b (diff)
downloadyuescript-24dab43a753538dcf3b85bd09bf76c0a3c3c8b73.tar.gz
yuescript-24dab43a753538dcf3b85bd09bf76c0a3c3c8b73.tar.bz2
yuescript-24dab43a753538dcf3b85bd09bf76c0a3c3c8b73.zip
simplify macro syntax. fix issue #38 again.
Diffstat (limited to 'src/MoonP/moon_parser.cpp')
-rw-r--r--src/MoonP/moon_parser.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/MoonP/moon_parser.cpp b/src/MoonP/moon_parser.cpp
index ec95530..6c1382d 100644
--- a/src/MoonP/moon_parser.cpp
+++ b/src/MoonP/moon_parser.cpp
@@ -510,10 +510,9 @@ MoonParser::MoonParser() {
510 FunLit = -FnArgsDef >> Space >> fn_arrow >> -Body; 510 FunLit = -FnArgsDef >> Space >> fn_arrow >> -Body;
511 511
512 MacroName = expr('$') >> -Name; 512 MacroName = expr('$') >> -Name;
513 macro_type = expr("expr") | expr("block") | expr("lua") | expr("text");
514 macro_args_def = sym('(') >> White >> -FnArgDefList >> White >> sym(')'); 513 macro_args_def = sym('(') >> White >> -FnArgDefList >> White >> sym(')');
515 MacroLit = -macro_args_def >> Space >> expr("->") >> Body; 514 MacroLit = -macro_args_def >> Space >> expr("->") >> Body;
516 Macro = key("macro") >> Space >> macro_type >> Space >> Name >> sym('=') >> MacroLit; 515 Macro = key("macro") >> Space >> Name >> sym('=') >> MacroLit;
517 516
518 NameList = Seperator >> Space >> Variable >> *(sym(',') >> Space >> Variable); 517 NameList = Seperator >> Space >> Variable >> *(sym(',') >> Space >> Variable);
519 NameOrDestructure = Space >> Variable | TableLit; 518 NameOrDestructure = Space >> Variable | TableLit;