Интерпретатор ЯП Micro, v2.0
Posted on

Интерпретатор языка программирования Micro.
Мажорный релиз. Добавлены полустатическая типизация и построение AST, убраны ограничение на глубину рекурсии и поддержка императивного программирования.
Изменения
- добавлена полустатическая типизация — статически типизированны только вызываемые типы (функции арности больше 0), остальные типы используют динамическую типизацию;
- благодаря появлению полустатической типизации:
- парсинг кода осуществляется до его выполнения;
- осуществляется построение AST;
- снято ограничение на глубину рекурсии (теперь рекурсия не ограничена ни Python, ни стеком);
- убраны:
- автоматический вызов функций при их определении;
- поддержка императивного программирования;
- доступ к интерпретатору (функция
eval);
- мутабельные структуры данных заменены на иммутабельные.
Описание
Технологии
- парсер:
- язык реализации — Python;
- режим — интерпретация.
Использование
$ python3 micro -v | --version
$ python3 micro -h | --help
$ python3 micro [-t TARGET | --target TARGET] [<script>] [<args>...]
Опции:
-v,--version— показать версию и выйти;-h,--help— показать справку и выйти;-t TARGET,--target TARGET— установить цель обработки скрипта; она может принимать следующие значения:tokens;preast;ast;evaluation(значение по умолчанию).
Аргументы:
<script>— путь к скрипту (если он пуст или равен-, тогда скрипт будет читаться с stdin; значение по умолчанию:-);<args>— аргументы скрипта.
Репозиторий
Ссылка: https://github.com/thewizardplusplus/micro/tree/v2.0.
Содержание: код, документация, инструменты (подсветка синтаксиса) и примеры.
Лицензия: MIT.