This commit is contained in:
MeexReay 2024-07-29 13:31:43 +03:00
parent cde1d97443
commit 931fa4bf9d
4 changed files with 663 additions and 132 deletions

View File

@ -137,10 +137,10 @@ DROP_VAR text # дропнуть переменную
| Команда | Параметры | Описание |
|--------------------------|------------|-------------|
| `USE_FUNC` | `func_name`, `result_var`, `[arg_var1] ... [arg_varN]` | Функция `func` вызывается с переданными аргументами и устанавливает результат в переменную `result_var` |
| `FUNC` | `result_type`, `func_name`, `[arg_name_1 arg_type] ... [arg_name_N arg_type]` | Создать функцию с типом результата `result_type`, названием `func_name` и аргументами `[arg_name_1 arg_type] ... [arg_name_N arg_type]`. Установить результат переменной можно изменив переменную `result` внутри функции. Все команды после этой и до `FUNC_END` будут командами функции. Функции внутри функций не могут быть. |
| `RETURN` | | Досрочно выйти из функции, также работает как выход из скрипта |
| `FUNC_END` | | Маркер, что команды функции тут заканчиваются |
| `USE_FUNC` | `func_name`, `result_var`, `[arg_var1] ... [arg_varN]` | Функция `func` вызывается с переданными аргументами и устанавливает результат в переменную `result_var`, если название `result_var` - `null`, то результат никуда не записывается |
#### Создание функций

7
forkbomb.sus Normal file
View File

@ -0,0 +1,7 @@
FUNC null fork
NEW_THREAD fork
NEW_THREAD fork
USE_FUNC fork null
FUNC_END
USE_FUNC fork null

View File

@ -1,4 +1,4 @@
FUNC null println text string # println function
FUNC null println text string
TEMP_VAR char new_line 10
ADD_STR text new_line
WRITE text cout

File diff suppressed because it is too large Load Diff