Статья 3: Три мастера для одного языка. Как компьютер понимает руны.
Это третья часть нашего цикла о создании нового казахстанского языка программирования. В предыдущих статьях мы рассказали о его философии и создали для него рунический алфавит.
Итак, у нас есть концепция и есть алфавит, полный глубоких образов. Но как заставить бездушный кремний компьютера понять, что Λ — это не просто значок, а незыблемая Гора-Константа? Как научить его читать наши руны?
Этот пост — о том, как мы создавали «мозг» нашего языка. О трех «мастерах», которые вдыхают жизнь в наш код.
В компьютерной науке их называют Лексер, Парсер и Интерпретатор, но в нашей философии они получили свои имена: Танушы, Құрастырушы и Іске Асырушы.
Представьте, что наш код — это просто непрерывный поток символов. Компьютер не видит в нем ни рун, ни имен. Задача первого мастера, «Танушы» (Распознающего), — всмотреться в этот поток и распознать знакомые образы.
Он не пытается понять смысл предложения. Он лишь идентифицирует отдельные «слова» — лексемы или токены.
- Увидев —, он говорит: «Это Руна_Переменной».
- Увидев san, он говорит: «Это Идентификатор (имя)».
- Увидев :, он говорит: «Это Оператор_Присвоения».
- Увидев 10, он говорит: «Это Целочисленный_Литерал».
Например, простую строку кода:
— □ a : 10
«Танушы» превращает в осмысленную последовательность токенов:
[Runa_Var] [Runa_Type_Int] [Identifier: "a"] [Op_Assign: ":"] [IntegerLiteral: 10]
После его работы вместо хаоса символов у нас появляется четкий список распознанных элементов. Но как они связаны друг с другом, система все еще не знает.
Здесь в дело вступает второй мастер, «Құрастырушы» (Собирающий или Архитектор). Он берет поток токенов от «Танушы» и проверяет, соответствуют ли они грамматике нашего языка.
Он — хранитель законов.
Он смотрит на последовательность [Runa_Var] [Runa_Type_Int] [Identifier] [Op_Assign] [IntegerLiteral] и говорит: «Да, это соответствует правилу «Объявление переменной». Все верно». Если бы порядок был нарушен, «Құрастырушы» сообщил бы об ошибке.
Главный результат его работы — это «Ой Бәйтерегі» (Древо Мысли). В науке это называют Абстрактным Синтаксическим Деревом (AST). Он превращает плоский список токенов в иерархическую, древовидную структуру, которая отражает логику программы.
Для кода
— □ c : a * (b + 2)
Древо Мысли будет выглядеть примерно так, точно отражая приоритет операций (сначала сложение в скобках, потом умножение):
(Узел: ОбъявлениеПеременной, Имя: "c")
|
|-- (Значение: Узел_БинарнойОперации, Оператор: '*')
|
|-- Левая часть: (Узел: ДоступКПеременной, Имя: "a")
|
|-- Правая часть: (Узел_БинарнойОперации, Оператор: '+')
|
|-- Левая часть: (Узел: ДоступКПеременной, Имя: "b")
|-- Правая часть: (Узел: Число, Значение: 2)
Теперь у нас есть не просто слова, а идеальный логический чертеж нашей программы.
У нас есть чертеж, но дом еще не построен. Здесь появляется последний мастер — «Іске Асырушы» (Исполнитель или Воплощающий). Его задача — взять «Древо Мысли» и воплотить его в жизнь.
Он обходит Древо узел за узлом и выполняет команды:
- Увидев узел ОбъявлениеПеременной, он выделяет в памяти компьютера ячейку.
- Увидев узел БинарнаяОперация, он выполняет математическую операцию.
- Увидев узел Вывод (⁞), он отдает команду вывести символы на экран.
Именно он производит финальный, видимый результат работы нашей программы.
Эти три мастера — Распознающий, Архитектор и Воплощающий — и есть наш компилятор. Это вечный цикл: распознать символы, выстроить из них структуру, исполнить эту структуру.
Теперь, когда вы знаете, как «мыслит» наш язык, в следующей статье мы наконец-то покажем его в действии. Мы напишем нашу первую полноценную программу, используя рунический синтаксис, и посмотрим, как она пройдет через руки всех трех мастеров, чтобы выдать финальный результат.
Comments 2
Login to leave a comment
Sherry Romeo · July 24, 2025 00:34
CONSULT A LICENSED BTC, USDT RECOVERY EXPERT / THE HACK ANGELS A LIFESAVER IN MY DARKEST MOMENT I want to extend my deepest gratitude to THE HACK ANGELS for everything you've done for me. I sincerely appreciate your efforts in locating my misplaced $970,000 worth of Bitcoin, as well as your positive attitude. I admire your desire to go above and above, as well as the fact that you and your team are always willing to assist others. I was overwhelmed with stress and confusion, completely unsure of what to do next. Thankfully, a friend introduced me to THE HACK ANGELS, and that connection truly changed everything. Their professionalism, patience, and unwavering support brought back my smile. I’m incredibly grateful for THE HACK ANGELS helping me in during one of the most difficult times in my life. I cannot thank them enough for their exceptional service and dedication. I highly recommend their services to anyone facing a similar situation, they are experienced, efficient, and trustworthy, you can get in contact with them. WhatsApp +1(520)2 0 0-2 3 2 0) Email at support@thehackangels.com Website at www.thehackangels.com They are truly exceptional when it comes to crypto recovery. If you're in London, you can even visit them in person at their office located at 45-46 Red Lion Street, London WC1R 4PF, UK. They’re super helpful and really know their stuff! Don’t hesitate to reach out if you need help!
Антон Тищенко · July 9, 2025 17:54
🔥🔥🔥