
Создание своего языка программировани на Rust #1: Лексер
kiquarsl 42 минуты назад Создание своего языка программировани на Rust #1: Лексер Средний 12 мин 1.1K Rust * Изучение языков Программирование * Туториал Из песочницы Привет, Хабр!В статье я хочу рассказать как создать...
GPT-5.6 31 Temmuz 2026'da yayınlanacak mı?
В сфере искусственного интеллекта произошло заметное событие. kiquarsl 42 минуты назад Создание своего языка программировани на Rust #1: Лексер Средний 12 мин 1. 1K Rust * Изучение языков Программирование * Туториал Из песочницы Привет, Хабр! В статье я хочу рассказать как создать свой язык программирования с нуля на Rust.
Ориентируюсь я на тех, кто еще не писал свои языки и знает Rust, нужно уже хорошо в нем разбираться. Этот язык для написания я выбрал, потому что в нем очень удобная система типов, что позволяет писать гибкий код, ну и просто потому что он мне нравится)Также я не являюсь профессионалом в написании языков, и в статье я могу применять не самые эффективные практики, так как это является сугубо моим опытом. Буду рад, если напишите об ошибках в статье, если увидите таковые.
Технические детали
Конкретно в этой части мы напишем лексический анализатор, ниже будет написано подробнее, после заголовка «О моем опыте». Также еще общий совет чайникам: если не понимаете на лету, пытайтесь вникнуть. Просто я раньше часто когда не понимал, просто забивал на то, что изучал.
Сейчас я представляю картину сложного в голове до тех пор, пока не пойму. И как по - это очень эффективно, просто не надо бросать. Можно визуализировать на бумаге или в пеинте, но я просто смотрю на код, и вникаю, вскоре впадаю в «поток», и уже все становится понятно.
О моем опытеЯ один из тех людей, которые не любят читать книги и изучение теории, поэтому начинал изучать создания языков с того самого OwnLang от Animmon'а, а не с чтения книг или поиска статей. И еще есть одна интересная деталь, до сих пор пока ни один из моих языков не был доведен до ума, так как если я узнавал, что код мог быть лучше, я шел и писал язык с нуля, уже с новыми знаниями. ЦельТут быстро пройдемся по пути написания языка и его синтаксиса.
Отраслевые последствия
Синтаксис языка будет Python-подобным, чтобы не добавлять лишних сложностей. Также язык, как уже понятно, будет интерпритируемым. Интерпритация будет работать методом обхода синтаксического дерева (AST).
Язык будет с динамической слабой типизацией, то есть у нас можно будет смешивать разные типы и переменные могут менять тип во время выполнения. Также я думал на счет ошибок. И пришел в простому выводу, мы сделам ошибки через панику, чтобы лишний раз не отвлекаться на них и сосредоточиться на написании языка.
В серьезных проектах ни в коем случае так не делайте! Лучше обрабатывать ошибки через Result, но для наброска языка, и нашего гайда сойдет. Ну и сами типы, изначально у нас будет несколько стандартных типов: String, Boolean, Number.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





