MinitScript
0.9.31 PRE-BETA
src
minitscript
tools
minitscripttranspiler-main.cpp
Go to the documentation of this file.
1
#include <memory>
2
#include <string>
3
#include <vector>
4
5
#include <
minitscript/minitscript.h
>
6
#include <
minitscript/minitscript/Context.h
>
7
#include <
minitscript/minitscript/MinitScript.h
>
8
#include <
minitscript/minitscript/Transpiler.h
>
9
#include <
minitscript/minitscript/Version.h
>
10
#include <
minitscript/os/filesystem/FileSystem.h
>
11
#include <
minitscript/utilities/Console.h
>
12
13
using
std::exit;
14
using
std::make_unique;
15
using
std::string;
16
using
std::vector;
17
18
using
minitscript::minitscript::Context
;
19
using
minitscript::minitscript::MinitScript
;
20
using
minitscript::minitscript::Transpiler
;
21
using
minitscript::minitscript::Version
;
22
using
minitscript::os::filesystem::FileSystem
;
23
using
minitscript::utilities::Console
;
24
25
int
main
(
int
argc,
char
** argv)
26
{
27
Console::printLine(
string
(
"minitscripttranspiler "
) + Version::getVersion());
28
Console::printLine(Version::getCopyright());
29
Console::printLine();
30
31
//
32
if
(argc < 3) {
33
Console::printLine(
"Usage: minitscripttranspiler script_filename transpilation_filename [minitscript_extension_file1] [minitscript_extension_fileN]"
);
34
return
EXIT_FAILURE;
35
}
36
37
vector<string> minitScriptExtensionFileNames;
38
for
(
auto
i = 3; i < argc; i++) minitScriptExtensionFileNames.push_back(argv[i]);
39
40
//
41
MinitScript::initialize();
42
43
//
44
auto
scriptFileName = string(argv[1]);
45
auto
context = make_unique<Context>();
46
auto
minitScript = make_unique<MinitScript>();
47
minitScript->setContext(context.get());
48
minitScript->parseScript(
49
FileSystem::getPathName(scriptFileName),
50
FileSystem::getFileName(scriptFileName)
51
);
52
if
(minitScript->isValid() ==
false
) {
53
Console::printLine(scriptFileName +
": Script not valid. Exiting!"
);
54
}
else
{
55
//
56
Transpiler::transpile(minitScript.get(), argv[2], minitScriptExtensionFileNames);
57
}
58
59
//
60
return
EXIT_SUCCESS;
61
}
Console.h
Context.h
FileSystem.h
MinitScript.h
Transpiler.h
Version.h
minitscript::minitscript::Context
Scripts context.
Definition:
Context.h:21
minitscript::minitscript::MinitScript
MinitScript.
Definition:
MinitScript.h:68
minitscript::minitscript::Transpiler
MinitScript transpiler.
Definition:
Transpiler.h:28
minitscript::os::filesystem::FileSystem
File system.
Definition:
FileSystem.h:20
minitscript::utilities::Console
Console class.
Definition:
Console.h:22
minitscript.h
main
int main(int argc, char **argv)
Definition:
minitscripttranspiler-main.cpp:25
minitscript::minitscript::Version
Version.
Definition:
Version.h:15
Generated by
1.9.1