Как я сделал встраиваемую версию Tokype (TechnoTokype)
И снова всем привет. Сегодня я уже делал пост про версию 0.0.2. Она могла бы выйти пораньше, если бы я не захотел сделать один эксперимент, а именно: перекомпилировать Tokype с обычного Go на TinyGo с флагами оптимизации.
Для начала я скопировал весь исходный код версии 0.0.2. И решил просто скомпилировать без изменения кода под TinyGo. Но наткнулся на проблему: TinyGo почему-то не использует UTF-8, и русские буквы из-за этого выглядят так: ╨Я╤А╨╕╨▓╨╡╤В. Ну и я подумал: "Зачем себя нагружать лишней работой? Пусть программист сам прописывает в терминал chcp 65001 и выводит что хочет."
Что же имеет TechnoTokype?
Он имеет стандартный синтаксис Tokype 0.0.2. Оптимизатор AST никуда не делся. И сборка, как в версиях Tokype 0.0.1, Tokype 0.0.2, осталась (туда входит сам интерпретатор, лицензия, README, пример кода). Но размер интерпретатора сильно уменьшился. Вот если сравнивать с Tokype 0.0.2 и TechnoTokype:
Tokype 0.0.2 весит на Windows (в разархивированном виде) 1975 кб.
А TechnoTokype весит на Windows (в разархивированном виде) 355 кб.
Скорость у этих двух версий абсолютно одинаковая.
Но есть также и минус этой версии (как и в обычном Tokype):
он нестабилен, поэтому встраивать его в серьёзные проекты пока не стоит.
Кому интересно, вот релиз и репозиторий:
TechnoTokype я развивать не буду. Это было чисто ради эксперимента, чтобы узнать, что изменится. (изменился только размер)
На этом у меня все. Всем пока!