HeadlinesBriefing favicon HeadlinesBriefing.com

Дизайн языка POP-2

Hacker News •
×

Новое реализация языка POP-2 targets виртуальная машина Uxn, с ALGOL-like синтаксисом и глубокой конкатенативной моделью оценки. В отличие от традиционных языков, POP-2 использует явный стек операндов, где присваивания вроде `123 -> foo`.push values before consumption. Компилятор удивительно компактный, менее 800 строк и помещается в 2.5kb памяти.

Структура языка напоминает Pascal с ключевыми словами, привязанными к инструкциям, terminated by semicolons. Функции возвращают multiple values, оставляя их на стеке для последующих операций. Управление потоком включает блоки `if/then/elseif/else/close`, которые.push values onto the stack, и циклы используют явные `goto` операторы. Переменные объявляются в блоках `vars` с настраиваемой длиной в байтах.

Операции I/O target систему Varvara используя номера портов (например, `0x48 => 23` выводит "H" в консольный порт 0x17/0x18). Массивы поддерживают арифметику указателей через префикс `#` и фигурные скобки для dereferencing памяти. Полная функция печати строки демонстрирует подход на основе стека для итерации и вывода. Реализация написана в Uxntal и размещена на intercatlang.incoming.