Depository of News

[Перевод] Интерпретатор Python в 1024 байтах

newsdepo.com · world

<img src="https://habrastorage.org/getpro/habr/upload_files/667/42a/46d/66742a46d80aec3e41eaff17766fac8f.png" /><p>Чтобы всё ещё ощущать себя человеком, по выходным я пишу код вручную.</p><p>Недавно я поставил перед собой задачу создания интерпретатора в <s>512</s>&nbsp;1024 байта старого доброго кода на C. И да, без хитростей с макросами и библиотеками.</p><p><code>def buzz():</code><br><code> for n in range(101):</code><br><code> if n % 15 == 0:</code><br><code> print("FizzBuzz")</code><br><code> else:</code><br><code> if n % 3 == 0:</code><br><code> print("Fizz")</code><br><code> else:</code><br><code> if n % 5 == 0:</code><br><code> print("Buzz")</code><br><code> else:</code><br><code> print(n)</code><br><code>buzz()</code></p><p>Наверно, мне не удастся уместить <em>весь</em> язык Python в интерпретатор такого размера. Так что же можно уместить в этот код?</p><p>Эта программа <code>fizzbuzz</code> явно выглядит, как Python. В ней есть <code>def</code>, двоеточия, отступы и отсутствуют скобки в операторах <code>if</code>. Мне кажется, это вполне походит на Python! Разумеется, наряду с использованием только подмножества синтаксиса придётся добавить и другие ограничения.</p><p>Но моя первая попытка оказалась неудачной.</p> <a href="https://habr.com/ru/articles/1079422/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=1079422#habracut">Читать далее</a>

Read full article →