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 AsIs = "$as-is"
 
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 102 of file Common.hpp.

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

◆ Argcount

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

Definition at line 135 of file Common.hpp.

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

◆ AsIs

std::string_view Ark::internal::Language::AsIs = "$as-is"
constexpr

Definition at line 137 of file Common.hpp.

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

◆ ConcatInPlace

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

Definition at line 103 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:102
constexpr std::string_view ConcatInPlace
Definition Common.hpp:103
constexpr std::string_view PopInPlace
Definition Common.hpp:104
constexpr std::string_view SetAt2InPlace
Definition Common.hpp:106
constexpr std::string_view SetAtInPlace
Definition Common.hpp:105

Definition at line 115 of file Common.hpp.

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

◆ macros

std::array Ark::internal::Language::macros
constexpr
Initial value:
= {
}
constexpr std::string_view AsIs
Definition Common.hpp:137
constexpr std::string_view Argcount
Definition Common.hpp:135
constexpr std::string_view Repr
Definition Common.hpp:136
constexpr std::string_view Symcat
Definition Common.hpp:134
constexpr std::string_view Undef
Definition Common.hpp:133

Definition at line 139 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 150 of file Common.hpp.

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

◆ Or

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

◆ PopInPlace

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

Definition at line 104 of file Common.hpp.

◆ Repr

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

Definition at line 136 of file Common.hpp.

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

◆ SetAt2InPlace

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

Definition at line 106 of file Common.hpp.

◆ SetAtInPlace

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

Definition at line 105 of file Common.hpp.

◆ Symcat

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

Definition at line 134 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 128 of file Common.hpp.

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

◆ Undef

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

Definition at line 133 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 108 of file Common.hpp.

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