Brainfuck - язык программирования всего из 8-ми команд
			
		 ![]()  | 
			
					roboforum.ruТехнический форум по робототехнике.  | 
			
				
					 | 
		
Интерпретатор SmileScript v.0.2 
---------------------------------------------------------------------
1. Одна строка - одна команда.
2. Комментарий - ;) и следующий текст до конца строки.
3. Перед использованием переменной, её нужно объявить.
4. OUT - это предопределенная переменная буфера вывода, которой можно
   пользоваться, как обычной переменной.
5. ERROR [12] означает, что на 12-ой строке произошла ошибка.
6. Числа либо целые, либо с десятичной точкой - float.
7. Если встречается неизвестная команда, то текущая строка выводится
   с переводом строки 
8. Если что-то не работает, улыбайтесь :)
9. Приоритет операторов убывает справа налево, т.е. конструкция:
   :-) A B :p "qwe" :p C :/ D :[] 12 :* 12
        означает:
   объявить A = B.("qwe".(C/(D=(12*12))));
10. Из управляющих конструкций - гибрид if и while:
   :) условие
        команды
        8)        ;) переводит к началу условия (continue)
        8(        ;) выходит из условия (break)
   (:
   Если требуется перепрыгнуть к началу условия уровнем выше - 8)8),
   аналог continue 2.
11. Что отсутствует:
    1. Обработка "скобочных" приоритетов.
    2. Булевы операции.
    3. Функции.
    4. Встроенные функции
   
    КОМАНДА                   ЧТО ОЗНАЧАЕТ
---------------------------------------------------------------------
:-) Var_name          Объявление переменной. 
                      Переменная может содержать только буквы, цифры 
                      и символ подчеркивания. С цифры начинаться низя
:-) Var statement     Объявление со значением-результатом выражения
:-( Var_name          Удаление переменной. 
:YO! или ;YO!         Безусловный выход из программы. 
8D                    Вывод списка всех переменных, кроме OUT
:O A                  Вывод переменной A с переводом строки
                             (двоеточие и большая буква "О" или ноль)
:o A                  Вывод переменной A без перевода строки
                                          (двоеточие и маленькая "o")
bla-bla               Вывод произвольного текста (under constr)
...
shut up!
:o "text"             Вывод строки text
:o 1234               Вывод 1234
A :[] B               A = B
A :p B                A .= B (приклеивание B к концу A)
A :) B                A += B
A :( B                A -= B
A :* B                A *= B
A :/ B                A /= B
A :\ B                A %= B
A (: B                A <<= B
A ): B                A >>= B
A :p B :) C           A .= B + C
A :p B :p C           A .= B . C
A :p B :( C           A .= B - C
A :p B :* C           A .= B * C
A :p B :/ C           A .= B / C
A :p B :\ C           A .= B % C
A :p B (: C           A .= B << C
A :p B ): C           A .= B >> C
A :[] B :[ C          A = B <= C
A :[] B :] C          A = B >= C
A :[] B :[[ C         A = B < C
A :[] B :]] C         A = B > C
A :[] B :| C          A = B == C
A :[] B |: C          A = B != C
A :[] !B              A = !B
:) условие            Условие.
команды               Команды выполняются, если условие 
команды               не ноль и не пустая строка.
8)                    Переход к началу условия.
8)8)                  Переход к началу условия этажом выше.
8)8)8)                Аналог continue 3;
8(                    Выход из условия.
8(8(8(                Аналог break 3;
(:                    Конец условия.
%) func a, b, c       Имя функции, аргументы функции (under constr)
:-) glob_val          Глобальная переменная
%-) local_val         Локальная переменная  (under constr)
commands...           Любые команды 
<- A                  return A 
(%                    Конец объявления
%o func A, 2, "c" o%  Вызов. Вместо "о" можно использовать ноль 
   (under constr)
++++++++++[
 >++++++++++[
  >++++++++++
 <-]
<-]
>++++++++++[
 >+++++++
<-]
>---.++++++++++[
 >++++++
 >+++++++++
 >++++++++
 >+++++
 >+++++
 >+++++
 >+++++
 >++++++++
 >++++++++
 >++++++++
<<<<<<<<<<-]
>+++++.
>----.
>++.
>-.
>.
>+.
>----.
>--.
>---.
<<.
<<<<.>>>>>>
>+++++.
++++++++++[>++++++>+++++++++>++++++++>+++++
>+++++>+++++>+++++>++++++++>++++++++>++++++++
>+++<<<<<<<<<<<-]>+++++.>----.>++.>-.>.>+.
>----.>--.>---.<<.<<<<.>>>>>>>+++++.>++.
+++++++++++++.-------------[.,]>+++++++++++++.Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0