11#ifndef ARK_COMPILER_COMMON_HPP
12#define ARK_COMPILER_COMMON_HPP
29 constexpr std::array
Magic = {
'a',
'r',
'k',
'\0' };
59 constexpr std::array<std::string_view, 11>
nodeTypes = {
88 constexpr std::array<std::string_view, 9>
keywords = {
127 constexpr std::string_view
SysArgs =
"sys:args";
130 constexpr std::string_view
And =
"and";
131 constexpr std::string_view
Or =
"or";
133 constexpr std::string_view
Undef =
"$undef";
134 constexpr std::string_view
Symcat =
"$symcat";
136 constexpr std::string_view
Repr =
"$repr";
137 constexpr std::string_view
AsIs =
"$as-is";
150 constexpr std::array<std::string_view, 24>
operators = {
152 ">",
"<",
"<=",
">=",
"!=",
"=",
153 "len",
"empty?",
"tail",
"head",
155 "toNumber",
"toString",
Constants used by ArkScript.
constexpr int ARK_VERSION_MAJOR
constexpr int ARK_VERSION_PATCH
constexpr int ARK_VERSION_MINOR
constexpr std::array< std::string_view, 9 > listInstructions
constexpr std::string_view AppendInPlace
constexpr std::string_view AsIs
constexpr std::string_view Argcount
constexpr std::array< std::string_view, 24 > operators
constexpr std::string_view ConcatInPlace
constexpr std::string_view SysPlatform
constexpr std::string_view PopInPlace
constexpr std::array macros
constexpr std::string_view SetAt2InPlace
constexpr std::string_view SysArgs
constexpr std::string_view And
constexpr std::string_view Repr
constexpr std::array UpdateRef
All the builtins that modify in place a variable.
constexpr std::string_view Or
constexpr std::string_view Symcat
constexpr std::string_view Undef
constexpr std::string_view SetAtInPlace
constexpr std::array Magic
constexpr std::size_t HeaderSize
constexpr std::size_t TimestampLength
constexpr std::array< std::string_view, 11 > nodeTypes
Node types as string, in the same order as the enum NodeType.
NodeType
The different node types available.
Keyword
The different keywords available.
constexpr std::array< std::string_view, 9 > keywords
List of available keywords in ArkScript.
std::vector< uint8_t > bytecode_t