diff options
author | Li Jin <dragon-fly@qq.com> | 2020-02-22 01:24:47 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2020-02-22 01:24:47 +0800 |
commit | 39457b75c0923cf287c9145fd9c9a6ba4a86767b (patch) | |
tree | 975f5adcad63d17821b2f40020dc2e15fae1bdac /src/MoonP/moon_compiler.cpp | |
parent | 2e9e28ceb3444e0aaf0ff7c704800b9cdc25dc87 (diff) | |
download | yuescript-39457b75c0923cf287c9145fd9c9a6ba4a86767b.tar.gz yuescript-39457b75c0923cf287c9145fd9c9a6ba4a86767b.tar.bz2 yuescript-39457b75c0923cf287c9145fd9c9a6ba4a86767b.zip |
change some interfaces.
Diffstat (limited to 'src/MoonP/moon_compiler.cpp')
-rw-r--r-- | src/MoonP/moon_compiler.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/MoonP/moon_compiler.cpp b/src/MoonP/moon_compiler.cpp index e6d010c..64152cf 100644 --- a/src/MoonP/moon_compiler.cpp +++ b/src/MoonP/moon_compiler.cpp | |||
@@ -35,9 +35,9 @@ const char* moonScriptVersion() { | |||
35 | return "0.5.0-r0.1.3"; | 35 | return "0.5.0-r0.1.3"; |
36 | } | 36 | } |
37 | 37 | ||
38 | class MoonCompiler { | 38 | class MoonCompilerImpl { |
39 | public: | 39 | public: |
40 | std::tuple<std::string,std::string,GlobalVars> compile(const std::string& codes, const MoonConfig& config) { | 40 | std::tuple<std::string,std::string,GlobalVars> compile(std::string_view codes, const MoonConfig& config) { |
41 | _config = config; | 41 | _config = config; |
42 | _info = _parser.parse<File_t>(codes); | 42 | _info = _parser.parse<File_t>(codes); |
43 | GlobalVars globals; | 43 | GlobalVars globals; |
@@ -4275,10 +4275,17 @@ private: | |||
4275 | } | 4275 | } |
4276 | }; | 4276 | }; |
4277 | 4277 | ||
4278 | const std::string MoonCompiler::Empty; | 4278 | const std::string MoonCompilerImpl::Empty; |
4279 | 4279 | ||
4280 | std::tuple<std::string,std::string,GlobalVars> moonCompile(const std::string& codes, const MoonConfig& config) { | 4280 | MoonCompiler::MoonCompiler(): |
4281 | return MoonCompiler{}.compile(codes, config); | 4281 | _compiler(std::make_unique<MoonCompilerImpl>()) |
4282 | { } | ||
4283 | |||
4284 | MoonCompiler::~MoonCompiler() | ||
4285 | { } | ||
4286 | |||
4287 | std::tuple<std::string,std::string,GlobalVars> MoonCompiler::compile(std::string_view codes, const MoonConfig& config) { | ||
4288 | return _compiler->compile(codes, config); | ||
4282 | } | 4289 | } |
4283 | 4290 | ||
4284 | } // namespace MoonP | 4291 | } // namespace MoonP |