Компилятор для стекового языка с постфиксным синтаксисом.
Целевая платформа: linux-x86_64
- арифметические операции
- dup, drop, take
- списки команд
- ветвление
- биндинги
- 32-битные числа со знаком;
- Арифметические операторы
+
,-
,*
,/
; - Оператор вывода в stdout
.
; - Комментарии, начинающиеся с
#
до конца строки; - Операторы
dup
(дублировать элемент на вершине стека),drop
(сбросить элемент на вершину стека),take
(положить N элемент на вершину стека, где N -- значение элемента на вершине до операции); - Списки команд, заключенные в
[
и]
; - Оператор применения списка команд
!
.
В системе должны быть установлены cargo
, nasm
.
Скомпилировать компилятор:
git clone https://github.com/vzalygin/plc
cd plc
cargo build --release --manifest-path ./compiler/Cargo.toml
sudo cp ./compiler/target/release/plc /usr/bin
Для информации об интерфейсе:
plc -h
Доступны в папке examples