Size: a a a

Compiler Development

2021 March 03

Vk

Voffka kozhaev in Compiler Development
Правда предупреждаю: он любит поболтать
источник

Vk

Voffka kozhaev in Compiler Development
Если тебя это устраивает, ю а велкам
источник

IK

Ivan Kochurkin in Compiler Development
Роман Соловьев
хочу сделать легковесный аналог ANTLR)
А зачем? Какие цели преследуются?
источник

РС

Роман Соловьев... in Compiler Development
Ivan Kochurkin
А зачем? Какие цели преследуются?
нуу, просто интерес)
источник

РС

Роман Соловьев... in Compiler Development
у меня есть графический редактор конечных автоматов и библиотека для выполнения по схеме. Я смогу графически отобразить дерево разбора, дать возможность редактировать

занятная штука может получиться)
источник

РС

Роман Соловьев... in Compiler Development
А можно где-нибудь парсер регулярных выражений подсмотреть?) желательно оригинал)
источник

AS

Anton Shvets in Compiler Development
Ура. Наконец-то сделал язык. Это хоть и не компилируемый, а транслируемый в шарп, но тем не менее. Насколько производителен dynamic, это не сильно ударит по производительности?
источник

AS

Anton Shvets in Compiler Development
источник

Constantine ʕ◔ϖ◔ʔ🦀... in Compiler Development
Зачем вот это вот всё в using и всякие TENGRI_console , почему бы не использовать стандартные API в С# для работы с  вводом, выводом для консольных приложений. 🤔
Как на счёт дженериков и обработки исключений в вашем языке?
Язык не опенсорс?
источник

AS

Anton Shvets in Compiler Development
Constantine ʕ◔ϖ◔ʔ🦀
Зачем вот это вот всё в using и всякие TENGRI_console , почему бы не использовать стандартные API в С# для работы с  вводом, выводом для консольных приложений. 🤔
Как на счёт дженериков и обработки исключений в вашем языке?
Язык не опенсорс?
Ну, через тенгри консоль обращаемся не к классу Console, а к классу предназначенному для работы с переменными и классами языка Tengri. И этот префикс нужен, чтобы язык ненароком не задел стандартные классы шарпа
источник

AS

Anton Shvets in Compiler Development
Constantine ʕ◔ϖ◔ʔ🦀
Зачем вот это вот всё в using и всякие TENGRI_console , почему бы не использовать стандартные API в С# для работы с  вводом, выводом для консольных приложений. 🤔
Как на счёт дженериков и обработки исключений в вашем языке?
Язык не опенсорс?
Дженериков и исключений пока нет. Появятся во второй версии. Сейчас там лишь классы, наследование классов, поля, методы, массивы, циклы, using (import).
Насчет опенсурса хз. Там нет ни единого комментария, да и боюсь, что говнокод какой-то написал
источник

AS

Anton Shvets in Compiler Development
Anton Shvets
Дженериков и исключений пока нет. Появятся во второй версии. Сейчас там лишь классы, наследование классов, поля, методы, массивы, циклы, using (import).
Насчет опенсурса хз. Там нет ни единого комментария, да и боюсь, что говнокод какой-то написал
Да и не думаю, что дженерики вообще нужны. Это же динамическая типизация
источник

[

[BRM]White Rabbit in Compiler Development
Если сделать мок динамику на дженах, то при особом желании бинарь раздуется как тот шарик
источник

РС

Роман Соловьев... in Compiler Development
Правильно ли я понял, что современные парсеры в случае ошибки - доставляют недостающие символы(как бы)/ не обрабатыают конкретное выражение и идут дальше?
источник

ВМ

Виталий Медоваров... in Compiler Development
источник

ВМ

Виталий Медоваров... in Compiler Development
по описанному в статье принципу работает например https://tree-sitter.github.io/tree-sitter/
источник

K

Kir in Compiler Development
Роман Соловьев
Правильно ли я понял, что современные парсеры в случае ошибки - доставляют недостающие символы(как бы)/ не обрабатыают конкретное выражение и идут дальше?
Зависит от алгоритма. Некоторые - да, некоторые до сих пор говорят syntax error at ... и почему-то считаются современными.
источник

ВМ

Виталий Медоваров... in Compiler Development
Виталий Медоваров
по описанному в статье принципу работает например https://tree-sitter.github.io/tree-sitter/
тут надо учесть что инкрементальный парсинг по сути содержит в себе персистентную структуру данных и там сама идея что в большинстве случаев CST будет корректное, это кейс для IDE в основном
источник

YS

Yaroslav Schekin in Compiler Development
Kir
Зависит от алгоритма. Некоторые - да, некоторые до сих пор говорят syntax error at ... и почему-то считаются современными.
Потому что парсеры используются в разных ситуациях / с разными целями.
Парсеру, который будет "долго думать" именно из-за обработки ошибок, в высокопроизводительном интерпретаторе никто не обрадуется, например.
источник

РС

Роман Соловьев... in Compiler Development
Yaroslav Schekin
Потому что парсеры используются в разных ситуациях / с разными целями.
Парсеру, который будет "долго думать" именно из-за обработки ошибок, в высокопроизводительном интерпретаторе никто не обрадуется, например.
На первых курсах знакомился с mysql, парсер говорил ошибка здесь и показывал выражение целиком)
источник