Компиляторы.

О времени, сложности и мотивации: знакомство

Приветствую вас, читатели.Подозреваю, что вы из мира программирования. Приглашаю вас присоединиться к увлекательному рассказу о том, как один энтузиаст решил доработать свой любимый язык.Я собираюсь рассказать об увлекательном опыте внесения существенных изменений в очень сложную архитектуру кода.Будет несколько статей, это первая. Для тех, кто хочет весь список сразу, держите:Часть 1: О времени, сложности и мотивации: знакомствоЧасть 2: О времени, сложности и мотивации: история поражения и победы

продолжить чтение

Вызовы функций, стек, куча и продолжения. Часть 2

В первой части статьи мы рассмотрели общую семантику применения функции в различных языках программирования и реализацию императивного вызова функции в машинном коде в стековом и бесстековом вариантах. Теперь мы рассмотрим теорию и практику реализации императивного вызова функции в модели продолжений (continuations): что такое продолжения, зачем нужны явные и неявные продолжения, как при помощи продолжений реализовать различные используемые в языках программирования управляющие конструкции.

продолжить чтение

Mash, основы языка

Предисловие Данный язык был разработан мной в учебных целях. Я не считаю его (на данный момент) идеально проработанным языком, но возможно в будущем он сможет потягаться с конкурентами. Если у вас есть желание попробовать его в действии самому — скачивайте репозиторий проекта, в нем вы сможете найти собранную версию проекта или же собрать её самостоятельно, для своей ОС. В данной статье будет описан небольшой мануал по проекту и рассмотрен синтаксис языка.

продолжить чтение

Rambler's Top100