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 '')
| -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 |
