11#ifndef INCLUDE_ARK_CONSTANTS_HPP_IN
12#define INCLUDE_ARK_CONSTANTS_HPP_IN
24#define ARK_COMPILER "AppleClang"
25#define ARK_CACHE_DIRNAME "__arkscript__"
26#define ARK_NO_NAME_FILE "FILE"
28#if defined(_WIN32) || defined(_WIN64)
29# define ARK_PLATFORM_NAME "Windows"
30#elif defined(__APPLE__) || defined(__MACH__)
31# define ARK_PLATFORM_NAME "Mac OSX"
32#elif defined(__linux__)
33# define ARK_PLATFORM_NAME "Linux"
34#elif defined(__FreeBSD__)
35# define ARK_PLATFORM_NAME "FreeBSD"
36#elif defined(__unix) || defined(__unix__)
37# define ARK_PLATFORM_NAME "Unix"
39# define ARK_PLATFORM_NAME "Other"
constexpr std::string_view ARK_VERSION
constexpr int ARK_VERSION_MAJOR
constexpr int ARK_VERSION_PATCH
constexpr std::string_view ARK_FULL_VERSION
constexpr int ARK_VERSION_MINOR
constexpr uint16_t DefaultFeatures
constexpr uint16_t FeatureImportSolver
constexpr std::size_t VMStackSize
constexpr uint16_t FeatureIROptimizer
constexpr std::size_t MaxNestedNodes
Maximum number of nodes that can be nested while parsing code.
constexpr uint16_t FeatureMacroProcessor
constexpr std::size_t MaxMacroProcessingDepth
Controls the number of recursive calls to MacroProcessor::processNode.
constexpr std::size_t ScopeStackSize
constexpr uint16_t FeatureTestFailOnException
This feature should only be used in tests, to disable diagnostics generation and enable exceptions to...
constexpr std::size_t MaxMacroUnificationDepth
Controls the number of recursive calls to MacroProcessor::unify.
constexpr uint16_t FeatureASTOptimizer
This is disabled so that embedding ArkScript does not prune nodes from the AST ; it is active in the ...
constexpr uint16_t FeatureDumpIR
constexpr uint16_t FeatureNameResolver