Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Опис

Проєкт, розроблений під час технологічної практики в компанії KeepSolid. Являє собою інтерпретатор езотеричної мови програмування BrainFuck, вигаданої Урбаном Мюллером у 1993 році.

Принцип роботи

Інтерпретатор виконує код програми, використовуючи вектор комірок пам'яті, покажчик на поточну комірку та стек. У BrainFuck набір команд мінімальний: вони дозволяють лише змінювати значення в комірках пам'яті, переміщувати покажчик та здійснювати введення/виведення даних.

Основні етапи виконання:

  • Зчитування джерельного коду з файлу;
  • Початкова перевірка коду на критичні помилки та токенізація;
  • Ініціалізація вектора даних;
  • Послідовна інтерпретація команд до кінця коду програми.

Нижче наведено таблицю всіх команд, наявних у даній мові:

Команда Опис
> перейти до наступної комірки
< перейти до попередньої комірки
+ збільшити значення в поточній комірці на 1
- зменшити значення в поточній комірці на 1
. надрукувати значення поточної комірки
, ввести ззовні значення і зберегти в поточну комірку
[ якщо значення поточної комірки — нуль, перейти вперед по тексту програми до ] з урахуванням вкладеності
] якщо значення поточної комірки не нуль, перейти назад по тексту програми до [ з урахуванням вкладеності

Компіляція

Після клонування джерельного коду відкрийте його теку в терміналі/консолі та зберіть виконуваний файл використовуючи CMake:

mkdir build
cd build
cmake ..
cmake --build .

Використання

Для компіляції програми достатньо лише запустити її з командного рядка, передавши шлях файлу з кодом Brainfuck у якості аргументу:

./brainfuck [шлях до файлу]

При виникненні помилок програма автоматично закривається та виводить повідомлення про помилку.

About

Інтерпретатор мови Brainfuck

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages