Что такое API?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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