Phasor 3.1.1
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>
7namespace Phasor
8{
9class VM;
10}
11
12namespace Phasor
13{
14
22{
23 public:
24 ScriptingRuntime(int argc, char *argv[], char *envp[]);
25 int run();
26
27 private:
28 struct Args
29 {
30 std::string inputFile;
31 bool verbose = false;
32 int scriptArgc = 0;
33 char **scriptArgv = nullptr;
34 char **envp = nullptr;
36
37 void parseArguments(int argc, char *argv[]);
38 void showHelp(const std::string &programName);
39
40 int runSource();
41 int runSourceString(const std::string &source, VM &vm);
42
43 std::unique_ptr<VM> createVm();
44};
45
46} // namespace Phasor
std::unique_ptr< VM > createVm()
void showHelp(const std::string &programName)
struct Phasor::ScriptingRuntime::Args m_args
ScriptingRuntime(int argc, char *argv[], char *envp[])
void parseArguments(int argc, char *argv[])
int runSourceString(const std::string &source, VM &vm)
Virtual Machine.
Definition VM.hpp:30
The Phasor Programming Language and Runtime.
Definition AST.hpp:11