В данном проекте был написал си подобный язык, а сам Anti-Khiryanov язык не реализован, но будет позже!
- Объявление переменных с инициализацией (WARNING!! сразу инициализируйте переменную)
- Объявление переменных без инициализации.
- Арифметический операции с числами и переменными;
- Распечатка значений переменных (при помощи функции print(variable) )
- Нелинейность программы ( while(), if() )
- if-else
- Вызов функций
- Локальность переменных
Если вы не хотите ставить стейтмент в блок, если он один, то язык поддерживает следующий синтаксис:
...
x = 1;
y = 0;
if (x == 1)
y = 2;
...
- Запрещена рекурсия (будет выводиться: Anti-recursion control find recursion. Khityanov log out!!)
- if-else
- Перевод в ассемблерный код if( 5 < x), т.е. если в if,while есть логический оператор
- Вызов функций
- Локальность переменных
- Выражения на этапе заполнения сразу переводить в конечный результат (2+5*1 ==> 7)
- придумать как будет генериться код для вызова функций и т.п.
- придумать смысл языка (допустим все переменные глобальные)
- Добавить PL_config, чтобы можно там было параметры задавать:
- Debug regime: true or false
- Beauty regime: which type of tree do you want: beauty or informationa;
- Как-то заполнять дерево при нескольких строках (пример в examples)
- Придумать признак конца строки (пока что это ';')
- Сделать обработку блоков "{" "}"
- Добавить обработку логических выражений:
- if
- while
- for
- Написать факториал на языке