1#ifndef CLI_JSONCOMPILER_HPP
2#define CLI_JSONCOMPILER_HPP
21 JsonCompiler(
unsigned debug,
const std::vector<std::filesystem::path>& lib_env, uint16_t features = 0);
28 void feed(
const std::string& filename);
AST node used by the parser, optimizer and compiler.
In charge of welding everything needed to compile code.
The welder joins all the compiler passes.
A node of an Abstract Syntax Tree for ArkScript.
void feed(const std::string &filename)
Feed the different variables with information taken from the given source code file.
JsonCompiler(unsigned debug, const std::vector< std::filesystem::path > &lib_env, uint16_t features=0)
Construct a new JsonCompiler object.
std::string compile()
Start the compilation.
std::string toJsonList(const Ark::internal::Node &node, std::size_t start)
Convert a NodeType::List to a JSON list.
std::string _compile(const Ark::internal::Node &node)
Compile a single node and return its representation.