34 static void checkArgCount(
const std::vector<Value> &args,
size_t minimumArguments,
const std::string &name,
35 bool allowMoreArguments =
false);
38 static int dupenv(std::string &out,
const char *name,
char *
const argp[]);
Standard library Contains all the standard library functions.
static Value sb_clear(const std::vector< Value > &args, VM *vm)
Clear string builder.
static Value registerIOFunctions(const std::vector< Value > &args, VM *vm)
static Value str_char_at(const std::vector< Value > &args, VM *vm)
Get character at index.
static Value sys_clear(const std::vector< Value > &args, VM *vm)
Clear the console.
static Value sys_env(const std::vector< Value > &args, VM *vm)
Get the current environment variables.
static Value file_current_directory(const std::vector< Value > &args, VM *vm)
Get/set working directory.
static Value file_write_line(const std::vector< Value > &args, VM *vm)
Write a line to file.
static Value math_sin(const std::vector< Value > &args, VM *vm)
Sine.
static Value math_max(const std::vector< Value > &args, VM *vm)
Maximum.
static Value sys_reset(const std::vector< Value > &args, VM *vm)
Reset the VM.
static Value file_read_line(const std::vector< Value > &args, VM *vm)
Read a line from file.
static Value io_printf(const std::vector< Value > &args, VM *vm)
Print formatted string.
static void registerFunctions(VM &vm)
Register all standard library functions.
static Value sys_exec_get_output(const std::vector< Value > &args, VM *vm)
Run a shell command and get output.
static Value sb_free(const std::vector< Value > &args, VM *vm)
Free string builder.
static Value math_floor(const std::vector< Value > &args, VM *vm)
Floor.
static Value file_remove_directory(const std::vector< Value > &args, VM *vm)
static Value sys_exec_get_error(const std::vector< Value > &args, VM *vm)
Run a shell command and get error output.
static char ** argv
Command line arguments.
static Value io_puts_error(const std::vector< Value > &args, VM *vm)
Print string with newline to error output.
static Value sys_time(const std::vector< Value > &args, VM *vm)
Current time.
static Value str_concat(const std::vector< Value > &args, VM *vm)
Concatenate strings.
static Value math_ceil(const std::vector< Value > &args, VM *vm)
Ceiling.
static Value sys_argc(const std::vector< Value > &args, VM *vm)
Get the current number of command line arguments.
static Value math_round(const std::vector< Value > &args, VM *vm)
Round.
static Value io_puts(const std::vector< Value > &args, VM *vm)
Print string with newline.
static Value regex_search(const std::vector< Value > &args, VM *vm)
Check if regex is found.
static Value sys_crash(const std::vector< Value > &args, VM *vm)
Crash the VM / Program.
static Value file_rename(const std::vector< Value > &args, VM *vm)
Rename file.
static Value io_putf(const std::vector< Value > &args, VM *vm)
Print formatted string with newline.
static Value regex_findall(const std::vector< Value > &args, VM *vm)
Find all regex matches.
static Value io_prints(const std::vector< Value > &args, VM *vm)
Print string without newline.
static Value registerMathFunctions(const std::vector< Value > &args, VM *vm)
static Value file_property_get(const std::vector< Value > &args, VM *vm)
static Value file_exists(const std::vector< Value > &args, VM *vm)
Check if file exists.
static Value system_get_free_memory(const std::vector< Value > &args, VM *vm)
Get current free memory.
static Value sys_os(const std::vector< Value > &args, VM *vm)
Get the current OS.
static void checkArgCount(const std::vector< Value > &args, size_t minimumArguments, const std::string &name, bool allowMoreArguments=false)
static Value str_substr(const std::vector< Value > &args, VM *vm)
Get substring.
static Value sys_argv(const std::vector< Value > &args, VM *vm)
Get the current command line arguments.
static Value to_int(const std::vector< Value > &args, VM *vm)
Convert to integer.
static Value sb_new(const std::vector< Value > &args, VM *vm)
Create new string builder.
static Value str_lower(const std::vector< Value > &args, VM *vm)
Convert to lowercase.
static Value file_read_directory(const std::vector< Value > &args, VM *vm)
static int argc
Number of command line arguments.
static Value file_property_edit(const std::vector< Value > &args, VM *vm)
static Value file_read(const std::vector< Value > &args, VM *vm)
Read file.
static Value registerTypeConvFunctions(const std::vector< Value > &args, VM *vm)
static Value sys_wait_for_input(const std::vector< Value > &args, VM *vm)
Wait for input.
static Value to_float(const std::vector< Value > &args, VM *vm)
Convert to float.
static Value io_c_format(const std::vector< Value > &args, VM *vm)
Format string.
static Value file_delete(const std::vector< Value > &args, VM *vm)
Delete file.
static Value file_statistics(const std::vector< Value > &args, VM *vm)
static Value str_upper(const std::vector< Value > &args, VM *vm)
Convert to uppercase.
static Value math_pow(const std::vector< Value > &args, VM *vm)
Power.
static Value to_bool(const std::vector< Value > &args, VM *vm)
Convert to boolean.
static Value math_tan(const std::vector< Value > &args, VM *vm)
Tangent.
static Value io_putf_error(const std::vector< Value > &args, VM *vm)
Print formatted string with newline to error output.
static Value regex_replace(const std::vector< Value > &args, VM *vm)
Replace regex matches.
static Value sys_shutdown(const std::vector< Value > &args, VM *vm)
Shutdown the VM.
static Value math_log(const std::vector< Value > &args, VM *vm)
Natural logarithm.
static Value registerSysFunctions(const std::vector< Value > &args, VM *vm)
static Value file_copy(const std::vector< Value > &args, VM *vm)
Copy file.
static Value sys_pid(const std::vector< Value > &args, VM *vm)
Get the current process ID.
static Value regex_match(const std::vector< Value > &args, VM *vm)
Check if regex matches.
static Value math_exp(const std::vector< Value > &args, VM *vm)
Exponential.
static Value sys_sleep(const std::vector< Value > &args, VM *vm)
Sleep for a specified amount of time.
static Value file_create_directory(const std::vector< Value > &args, VM *vm)
static Value math_cos(const std::vector< Value > &args, VM *vm)
Cosine.
static Value file_write(const std::vector< Value > &args, VM *vm)
Write to file.
static Value file_create(const std::vector< Value > &args, VM *vm)
static Value regex_split(const std::vector< Value > &args, VM *vm)
Split string by regex matches.
static Value file_append(const std::vector< Value > &args, VM *vm)
Append to file.
static Value sb_to_string(const std::vector< Value > &args, VM *vm)
Convert string builder to string.
static Value math_abs(const std::vector< Value > &args, VM *vm)
Absolute value.
static char ** envp
Environment variables.
static Value sb_append(const std::vector< Value > &args, VM *vm)
Append to string builder.
static Value sys_time_formatted(const std::vector< Value > &args, VM *vm)
Current time formatted.
static Value math_sqrt(const std::vector< Value > &args, VM *vm)
Square root.
static Value registerStringFunctions(const std::vector< Value > &args, VM *vm)
static Value io_gets(const std::vector< Value > &args, VM *vm)
Get string.
static int dupenv(std::string &out, const char *name, char *const argp[])
static Value str_len(const std::vector< Value > &args, VM *vm)
Get string length.
static Value str_ends_with(const std::vector< Value > &args, VM *vm)
Check if string ends with.
static Value sys_exec(const std::vector< Value > &args, VM *vm)
Run a shell command.
static Value to_string(const std::vector< Value > &args, VM *vm)
Convert to string.
static Value file_move(const std::vector< Value > &args, VM *vm)
Move file.
static Value math_min(const std::vector< Value > &args, VM *vm)
Minimum.
static Value str_starts_with(const std::vector< Value > &args, VM *vm)
Check if string starts with.
static Value registerRegexFunctions(const std::vector< Value > &args, VM *vm)
static Value registerFileFunctions(const std::vector< Value > &args, VM *vm)
A value in the Phasor VM.
The Phasor Programming Language and Runtime.
std::function< Value(const std::vector< Value > &args, VM *vm)> NativeFunction
Native function signature.