Phasor 2.2.0
Stack VM based Programming Language
Loading...
Searching...
No Matches
ScriptingRuntime.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <string>
5#include <vector>
6
7namespace Phasor { class VM; }
8
9namespace Phasor
10{
11
19{
20 public:
21 ScriptingRuntime(int argc, char *argv[], char *envp[]);
22 int run();
23
24 private:
25 struct Args
26 {
27 std::string inputFile;
28 bool verbose = false;
29 int scriptArgc = 0;
30 char **scriptArgv = nullptr;
31 char **envp = nullptr;
33
34 void parseArguments(int argc, char *argv[]);
35 void showHelp(const std::string &programName);
36
37 int runSource();
38 void runSourceString(const std::string &source, VM &vm);
39
40 std::unique_ptr<VM> createVm();
41};
42
43} // namespace Phasor
std::unique_ptr< VM > createVm()
void showHelp(const std::string &programName)
struct Phasor::ScriptingRuntime::Args m_args
void runSourceString(const std::string &source, VM &vm)
ScriptingRuntime(int argc, char *argv[], char *envp[])
void parseArguments(int argc, char *argv[])
Virtual Machine.
Definition VM.hpp:18
The Phasor Programming Language and Runtime.
Definition AST.hpp:8