12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- Синтаксис языка состоит из следующих команд:
- setchar c - устанавливает значение в текущей ячейке на c
- walk n - перейти на n ячеек
- change v - изменить значение в текущей ячейке на v (целое число)
- mov n - переместить значение текущей ячейки на n клеток
- copy n t - копировать значение текущей ячейки в ячейку, расположенную через n клеток от текущей
- с использованием буффера, расположенного через t клеток от текущей
- print n - вывести значения ячеек от текущей до следующей через n клеток
- split v - разбить строку v на символы и распределить их по следующим ячейкам
- alias name value - создать псевдоним с именем 'name' и значением 'value'
- $name - получить значение из псевдонима name
- pointer name n - создать указатель на ячейку n
- &name = c - установить значение ячейки по адресу name на 'c'
- &name clear - очистить ячейку по адресу name
- &name add v - увеличить значение в ячейке по адресу name на v
- &name sub v - уменьшить значение в ячейке по адресу name на v
- array name n l - создать указатель на ячейки от n до n+l
- @name n = c - установить значение ячейки по адресу name[n] на 'c'
- @name n clear - очистить ячейку по адресу name[n]
- @name n add v - увеличить значение в ячейке по адресу name[n] на v
- @name n sub v - уменьшить значение в ячейке по адресу name[n] на v
- putchar - вывести символ из текущей ячейки
- read - считать один символ из стандартного ввода
- reads n - считать символы из стандартного ввода и распределить их по ячейкам от текущей до следующей через n клеток
- sum *a *b *c - сложить значения ячеек a и b, и результат сложить в ячейку c (в теории, вы можете использовать эту
- функцию в виде sum *a *b *a, но я не уверен, что это сработает)
- sub *a *b *c - аналогично с sum, только здесь вычитание
- *a - обращение к указателю
- # - комментарий
- Программа состоит из вызовов определенных команд с их аргументами. Между ними должны располагаться разделители:
- '(', ')', ',', ' ', и ';'. Их можно использовать так как вам угодно, они предназначены для улучшения читаемости кода.
- Например:
- split "Hello, World!\n";
- равносильно
- split("Hello, World!\n")
- Обратите внимение на то, что между указателями и псевдонимами нет конфликтов имен, так как они
- хранятся по разному
- например:
- alias hw "Hello, World!"; # Создание псевдонима hw
- pointer hw 1; # Создание указателя hw
- split $hw; # Разделить строку, хранящуюся в ПСЕВДОНИМЕ hw
- &hw = c; # Установить значение 'c' в ячейку ПО АДРЕСУ hw
|