aboutsummaryrefslogtreecommitdiff
path: root/src/MoonP/moon_parser.cpp
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2020-03-23 10:45:24 +0800
committerLi Jin <dragon-fly@qq.com>2020-03-23 10:45:24 +0800
commit14d7e02285857226e26288c1ac83a14eb4fbd478 (patch)
treebe1ee9300a8516b186b1dc8a057f05b17847cabd /src/MoonP/moon_parser.cpp
parentc4556457629bebbb632dbf4e87a49e2d684697c2 (diff)
downloadyuescript-14d7e02285857226e26288c1ac83a14eb4fbd478.tar.gz
yuescript-14d7e02285857226e26288c1ac83a14eb4fbd478.tar.bz2
yuescript-14d7e02285857226e26288c1ac83a14eb4fbd478.zip
add support for macro system expanding to Lua codes directly.
Diffstat (limited to 'src/MoonP/moon_parser.cpp')
-rw-r--r--src/MoonP/moon_parser.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/MoonP/moon_parser.cpp b/src/MoonP/moon_parser.cpp
index f0269d7..c8a3a23 100644
--- a/src/MoonP/moon_parser.cpp
+++ b/src/MoonP/moon_parser.cpp
@@ -472,7 +472,7 @@ MoonParser::MoonParser() {
472 FunLit = -FnArgsDef >> Space >> fn_arrow >> -Body; 472 FunLit = -FnArgsDef >> Space >> fn_arrow >> -Body;
473 473
474 MacroName = expr('$') >> Name; 474 MacroName = expr('$') >> Name;
475 macro_type = expr("expr") | expr("block"); 475 macro_type = expr("expr") | expr("block") | expr("lua");
476 macro_args_def = sym('(') >> White >> -FnArgDefList >> White >> sym(')'); 476 macro_args_def = sym('(') >> White >> -FnArgDefList >> White >> sym(')');
477 MacroLit = -macro_args_def >> Space >> expr("->") >> Body; 477 MacroLit = -macro_args_def >> Space >> expr("->") >> Body;
478 Macro = key("macro") >> Space >> macro_type >> Space >> Name >> sym('=') >> MacroLit; 478 Macro = key("macro") >> Space >> macro_type >> Space >> Name >> sym('=') >> MacroLit;
@@ -608,8 +608,8 @@ namespace Utils {
608 608
609 void trim(std::string& str) { 609 void trim(std::string& str) {
610 if (str.empty()) return; 610 if (str.empty()) return;
611 str.erase(0, str.find_first_not_of(" \t")); 611 str.erase(0, str.find_first_not_of(" \t\n"));
612 str.erase(str.find_last_not_of(" \t") + 1); 612 str.erase(str.find_last_not_of(" \t\n") + 1);
613 } 613 }
614} 614}
615 615