diff options
| author | Li Jin <dragon-fly@qq.com> | 2020-03-23 10:45:24 +0800 |
|---|---|---|
| committer | Li Jin <dragon-fly@qq.com> | 2020-03-23 10:45:24 +0800 |
| commit | 14d7e02285857226e26288c1ac83a14eb4fbd478 (patch) | |
| tree | be1ee9300a8516b186b1dc8a057f05b17847cabd /src/MoonP/moon_parser.cpp | |
| parent | c4556457629bebbb632dbf4e87a49e2d684697c2 (diff) | |
| download | yuescript-14d7e02285857226e26288c1ac83a14eb4fbd478.tar.gz yuescript-14d7e02285857226e26288c1ac83a14eb4fbd478.tar.bz2 yuescript-14d7e02285857226e26288c1ac83a14eb4fbd478.zip | |
add support for macro system expanding to Lua codes directly.
Diffstat (limited to '')
| -rw-r--r-- | src/MoonP/moon_parser.cpp | 6 |
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 | ||
