ArkScript
A small, fast, functional and scripting language for video games
Ark::internal::Language Namespace Reference

Variables

constexpr std::string_view AppendInPlace = "append!"
 
constexpr std::string_view ConcatInPlace = "concat!"
 
constexpr std::string_view PopInPlace = "pop!"
 
constexpr std::string_view SetAtInPlace = "@="
 
constexpr std::string_view SetAt2InPlace = "@@="
 
constexpr std::array UpdateRef
 All the builtins that modify in place a variable.
 
constexpr std::array< std::string_view, 9 > listInstructions
 
constexpr std::string_view SysArgs = "sys:args"
 
constexpr std::string_view SysPlatform = "sys:platform"
 
constexpr std::string_view And = "and"
 
constexpr std::string_view Or = "or"
 
constexpr std::string_view Undef = "$undef"
 
constexpr std::string_view Symcat = "$symcat"
 
constexpr std::string_view Argcount = "$argcount"
 
constexpr std::string_view Repr = "$repr"
 
constexpr std::string_view Paste = "$paste"
 
constexpr std::array macros
 
constexpr std::array< std::string_view, 24 > operators
 

Variable Documentation

◆ And

std::string_view Ark::internal::Language::And = "and"
constexpr

◆ AppendInPlace

std::string_view Ark::internal::Language::AppendInPlace = "append!"
constexpr

Definition at line 87 of file Common.hpp.

Referenced by Ark::internal::NameResolutionPass::visit().

◆ Argcount

std::string_view Ark::internal::Language::Argcount = "$argcount"
constexpr

Definition at line 120 of file Common.hpp.

Referenced by Ark::internal::MacroProcessor::evaluate().

◆ ConcatInPlace

std::string_view Ark::internal::Language::ConcatInPlace = "concat!"
constexpr

Definition at line 88 of file Common.hpp.

Referenced by Ark::internal::NameResolutionPass::visit().

◆ listInstructions

std::array<std::string_view, 9> Ark::internal::Language::listInstructions
constexpr
Initial value:
= {
"list",
"append",
"concat",
"pop",
}
constexpr std::string_view AppendInPlace
Definition Common.hpp:87
constexpr std::string_view ConcatInPlace
Definition Common.hpp:88
constexpr std::string_view PopInPlace
Definition Common.hpp:89
constexpr std::string_view SetAt2InPlace
Definition Common.hpp:91
constexpr std::string_view SetAtInPlace
Definition Common.hpp:90

Definition at line 100 of file Common.hpp.

Referenced by Ark::internal::Compiler::getListInstruction(), and Ark::internal::NameResolutionPass::NameResolutionPass().

◆ macros

std::array Ark::internal::Language::macros
constexpr
Initial value:
= {
}
constexpr std::string_view Argcount
Definition Common.hpp:120
constexpr std::string_view Paste
Definition Common.hpp:122
constexpr std::string_view Repr
Definition Common.hpp:121
constexpr std::string_view Symcat
Definition Common.hpp:119
constexpr std::string_view Undef
Definition Common.hpp:118

Definition at line 124 of file Common.hpp.

Referenced by Ark::internal::FunctionExecutor::applyMacro().

◆ operators

std::array<std::string_view, 24> Ark::internal::Language::operators
constexpr
Initial value:
= {
"+", "-", "*", "/",
">", "<", "<=", ">=", "!=", "=",
"len", "empty?", "tail", "head",
"nil?", "assert",
"toNumber", "toString",
"@", "@@", "mod",
"type", "hasField",
"not"
}

Definition at line 135 of file Common.hpp.

Referenced by Ark::internal::Compiler::getOperator(), Ark::internal::Compiler::handleCalls(), Ark::internal::MacroProcessor::isConstEval(), and Ark::internal::NameResolutionPass::NameResolutionPass().

◆ Or

std::string_view Ark::internal::Language::Or = "or"
constexpr

◆ Paste

std::string_view Ark::internal::Language::Paste = "$paste"
constexpr

Definition at line 122 of file Common.hpp.

Referenced by Ark::internal::MacroProcessor::evaluate().

◆ PopInPlace

std::string_view Ark::internal::Language::PopInPlace = "pop!"
constexpr

Definition at line 89 of file Common.hpp.

◆ Repr

std::string_view Ark::internal::Language::Repr = "$repr"
constexpr

Definition at line 121 of file Common.hpp.

Referenced by Ark::internal::MacroProcessor::evaluate().

◆ SetAt2InPlace

std::string_view Ark::internal::Language::SetAt2InPlace = "@@="
constexpr

Definition at line 91 of file Common.hpp.

◆ SetAtInPlace

std::string_view Ark::internal::Language::SetAtInPlace = "@="
constexpr

Definition at line 90 of file Common.hpp.

◆ Symcat

std::string_view Ark::internal::Language::Symcat = "$symcat"
constexpr

Definition at line 119 of file Common.hpp.

Referenced by Ark::internal::MacroProcessor::evaluate().

◆ SysArgs

std::string_view Ark::internal::Language::SysArgs = "sys:args"
constexpr

◆ SysPlatform

std::string_view Ark::internal::Language::SysPlatform = "sys:platform"
constexpr

Definition at line 113 of file Common.hpp.

Referenced by Ark::State::setArgs().

◆ Undef

std::string_view Ark::internal::Language::Undef = "$undef"
constexpr

Definition at line 118 of file Common.hpp.

Referenced by Ark::internal::MacroProcessor::evaluate().

◆ UpdateRef

std::array Ark::internal::Language::UpdateRef
constexpr
Initial value:

All the builtins that modify in place a variable.

Definition at line 93 of file Common.hpp.

Referenced by Ark::internal::NameResolutionPass::visit().