Skip to content

Hollbrok/Prog-Lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

Anti-Khiryanov language

В данном проекте был написал си подобный язык, а сам Anti-Khiryanov язык не реализован, но будет позже!

Что поддерживает язык (что будет добавленно)

  • Объявление переменных с инициализацией (WARNING!! сразу инициализируйте переменную)
  • Объявление переменных без инициализации.
  • Арифметический операции с числами и переменными;
  • Распечатка значений переменных (при помощи функции print(variable) )
  • Нелинейность программы ( while(), if() )
  • if-else
  • Вызов функций
  • Локальность переменных

Доп фичи

Если вы не хотите ставить стейтмент в блок, если он один, то язык поддерживает следующий синтаксис:

...
    x = 1;
    y = 0;
    
    if (x == 1)
        y = 2;
...

Особенности Anti-Khiryanov language, которые нужно будет добавить

  • Запрещена рекурсия (будет выводиться: Anti-recursion control find recursion. Khityanov log out!!)

TODO LIST:

  • 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
  • Написать факториал на языке

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages