aboutsummaryrefslogtreecommitdiff
path: root/src/MoonP/moon_parser.cpp
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2020-10-21 23:44:50 +0800
committerLi Jin <dragon-fly@qq.com>2020-10-21 23:44:50 +0800
commitb6725202f4a8cac5f829dac9a72a81f3ff73e787 (patch)
treec173accb869b60cba14babc7685284864bc80426 /src/MoonP/moon_parser.cpp
parent0777356cbe599b3f88bdfa476e3ffa64bb3a3a8c (diff)
downloadyuescript-b6725202f4a8cac5f829dac9a72a81f3ff73e787.tar.gz
yuescript-b6725202f4a8cac5f829dac9a72a81f3ff73e787.tar.bz2
yuescript-b6725202f4a8cac5f829dac9a72a81f3ff73e787.zip
extend macro feature to support compiling Moonscript to other Lua dialect like teal.
add examples for how to write MoonPlus codes that compile to teal. fix C++ macro to build without MoonPlus macro feature or built-in Lua. add support for passing arguments from command line to compiler that can be accessed or altered by "require('moonp').options".
Diffstat (limited to 'src/MoonP/moon_parser.cpp')
-rw-r--r--src/MoonP/moon_parser.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/MoonP/moon_parser.cpp b/src/MoonP/moon_parser.cpp
index e984997..63eabb3 100644
--- a/src/MoonP/moon_parser.cpp
+++ b/src/MoonP/moon_parser.cpp
@@ -509,7 +509,7 @@ MoonParser::MoonParser() {
509 fn_arrow = expr("->") | expr("=>"); 509 fn_arrow = expr("->") | expr("=>");
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"); 513 macro_type = expr("expr") | expr("block") | expr("lua") | expr("text");
514 macro_args_def = sym('(') >> White >> -FnArgDefList >> White >> sym(')'); 514 macro_args_def = sym('(') >> White >> -FnArgDefList >> White >> sym(')');
515 MacroLit = -macro_args_def >> Space >> expr("->") >> Body; 515 MacroLit = -macro_args_def >> Space >> expr("->") >> Body;