diff options
author | Li Jin <dragon-fly@qq.com> | 2019-10-29 11:25:27 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2019-10-29 11:25:27 +0800 |
commit | 975167856ed0b11c2ede03c6eb750ca4e4a6a7fc (patch) | |
tree | fa4369fe7e7d49c63cae93d6c5b52b78116f58cd /MoonParser/moonc.cpp | |
parent | 726fee3152c81fdac7e3ad5f663bfbea8f99ddd8 (diff) | |
download | yuescript-975167856ed0b11c2ede03c6eb750ca4e4a6a7fc.tar.gz yuescript-975167856ed0b11c2ede03c6eb750ca4e4a6a7fc.tar.bz2 yuescript-975167856ed0b11c2ede03c6eb750ca4e4a6a7fc.zip |
complete moon compiler in C++.
Diffstat (limited to 'MoonParser/moonc.cpp')
-rw-r--r-- | MoonParser/moonc.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/MoonParser/moonc.cpp b/MoonParser/moonc.cpp new file mode 100644 index 0000000..1a383fe --- /dev/null +++ b/MoonParser/moonc.cpp | |||
@@ -0,0 +1,21 @@ | |||
1 | #include <iostream> | ||
2 | #include "moon_compiler.h" | ||
3 | |||
4 | int main() | ||
5 | { | ||
6 | std::string s = R"TestCodesHere( | ||
7 | print nil + 1 | ||
8 | )TestCodesHere"; | ||
9 | std::list<MoonP::GlobalVar> globals; | ||
10 | auto result = MoonP::moonCompile(s, globals, true, false); | ||
11 | if (!result.first.empty()) { | ||
12 | std::cout << result.first << '\n'; | ||
13 | } else { | ||
14 | std::cout << result.second << '\n'; | ||
15 | } | ||
16 | std::cout << "globals:\n"; | ||
17 | for (const auto& var : globals) { | ||
18 | std::cout << var.name << '\n'; | ||
19 | } | ||
20 | return 0; | ||
21 | } | ||