Разработка компилятора. Контекст исполнения

Контекст исполнения играет большую роль на этапе исполнения кода, а правильная организация контекстов скажется на всей работе виртуальной машины в целом.

Разработка компилятора. Стековая виртуальная машина. Состав

После рассмотрения статьи о теоретических основах стековой виртуальной машины, необходимо рассмотреть из чего состоит стековая виртуальная машина. На протяжении долгого времени мы не могли с точностью определиться что же должно быть в виртуальной машине, и только в версии 0.9.2 сформировалось определенное понимание.

Разработка компилятора. Стековая виртуальная машина. Основы

Виртуальная машина, как некоторая идеализированная имитация процессора, является достаточно интересной темой для изучения. Стековая виртуальная машина проше для понимания процесса исполнения байт-кода. Виртуальная машина s4g переделывалась не раз, переписывалась с нуля, в одной и той же версии видоизменялась, и все для того чтобы найти наиболее подходящий вариант. В данной статье рассмотрим понятие виртуальной машины, ее функционал и возможности.

Разработка компилятора. Сборщик мусора

Сборка мусора не маловажная часть управления памятью, оперативная память не бесконечна. Говоря «сборщик мусора» обычно подразумевается объект сборщика мусора, который сам соберет все что наделал программист))

AI в играх. Алгоритмы поиска пути

Поиск пути достаточно важная часть всего AI сочетающая в себе как сложность задачи, так и простоту алгоритма. Особенно поиск кратчайшего пути. В статье рассмотрим алгоритмы поиска пути (с которыми я знаком). При описании алгоритмов не учтены все нюансы, а лишь дано краткое описание, для полного описания каждого алгоритма нужна отдельная статья))

AI в играх. Дискретизированное пространство

AI в играх. Алгоритмы поиска пути

Рассмотрев в одной из прошлых статей методы дикретизирования пространства, я упустил одну важную вещь, а именно что так представляет из себя это дискретизированное пространство? Когда я пытался подступиться к этому всему я никак не мог сообразить что это такое. И в данной статье я попытаюсь объяснить что это.

Стандарт оформления кода который мы приняли

Буквально перед началом разработки s4g 0.9.2 мы приняли стандарт оформления кода. И в данной статье я хотел бы рассказать о нем.

Компилируемые и интерпретируемые языки программирования. Разбор понятий

Компилируемые и интерпретируемые языки, казалось бы что здесь не так? Компилируемые компилируются в исполняемый код, а интерпретируемые интерпретируются на этапе исполнения. Но не все так однозадачный. Неоднократно при общении с программистами слышал путаницу в терминологии по поводу компилируемых и интерпретируемых языков программирования. Объяснения не всегда логичны и уж тем более объективны (и эта статья возможно тоже).

s4g 0.9.2

Вчера ночью залили архив с исходным кодом s4g 0.9.2 на сервер и завершили разработку текущей версии языка. Это было крайне не просто …

Документирование Doxygen. Введение

Оказывается, процесс написания документации может быть достаточно простым и понятным … при помощи Doxygen. До недавнего времени у нас в проекте не было документации вообще. И вот мы взялись за s4g 0.9.1 версии, начали писать документацию в текстовых документах … это было так неинтересно и нудно.