🌟 Языки программирования в 50 строк кода Python.
Репозиторий на Github c микрореализацией фундаментальных языков программирования, по мотивам серии статей
"Tiny Great Languages"
Все написано на Python, код намеренно краток, чтобы не превышать ~50 строк кода для каждого языка.
Используется только стандартная библиотека Python, да и то в очень скромных пределах (
sys
, иногда
re
, редко
itertool
и т.д.).
▶️ Реализованы языки:
asm.py
- ассемблер. Компилирует "Python-ассемблер" в байткод и выполняет его;
basic.py
- бейсик. Подмножество TinyBASIC, но с настоящим редактором строк BASIC!
lisp.py
- Lisp 1.5. Классика, автор - Джон Маккарти, достаточен, чтобы интерпретировать самого себя (мета-циклический интерпретатор);
apl.py
- интерпретатор k/simple, написанный Артуром Уитни, представляет собой диалект языка программирования K (array processing language), который является вариантом APL.
mouse.py
- язык конкатенативного программирования MOUSE, опубликованный в журнале BYTE в 1979 году.
pl0.py
- переводчик с языка PL/0, автор Никлаус Вирт.
tcl.py
- крошечный интерпретатор командного языка (TCL).
📌Лицензирование: MIT License.
🖥Github
#Python #TinyLanguage
@pythonl