Size: a a a

Compiler Development

2020 March 15

K

Konstantin in Compiler Development
Igor 🐱 Jirkov
Мне кажется, автор новой серебряной пули @devoln  -- максимально характерный человек  из второго племени программистов. Даже плюсы любит.
Что за второе племя?
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Konstantin
Что за второе племя?
источник

МБ

Михаил Бахтерев in Compiler Development
Очень странно, что Хикки попал в первый лагерь. Почему так?
источник

МБ

Михаил Бахтерев in Compiler Development
Кстати, а в JavaScript же завезли уже BigNum?
источник

FO

FORTRAN ONE LOVE in Compiler Development
Алексей
вот такой вопрос: а на каких языках вы обычно пишите?
Fortran :)
источник

АВ

Александр Вольнов in Compiler Development
Константин
По-моему, это ошибка. Раз формат-язык предназначен для разбора любого формата, а текстовый синтаксис подпадает под определение любого формата, то как минимум парсер, а то и весь обработчик необходимо написать на его собственном языке. С учётом того, что формат планируется как серебряная пуля, то ускорение разработки на порядок должно скомпенсировать необходимое время для ручной или полу-ручной трансляции первой версии. Это потребует смены приоритета в порядке воплощения языка, но это полезное изменение, которое позволит автору насладиться плодами своего творения максимально быстро
Первая версия предназначена только для бинарного. Чтобы разбирать все, наверное придётся встроить прямо в рантайм генератор парсеров на основе грамматики. А генератор парсеров написать будет сложнее, чем сделать простой парсер для языка.
Я уже писал обобщённый десериализатор для JSON-подобных языков, там можно настроить наличие/отсутствие кавычек, разделитель (':', '=' или любой другой) и ещё кучу всего, что позволило парсить как JSON, так и подмножество XML, а также сишные структуры с designated initializers. Написал за пару дней примерно вместе с сериализатором.
А язык я проектировал так, что его парсер будет не сильно сложнее парсера, который в десериализаторе. Думаю, он займёт не больше недели (2 выходных + вечера).
Есть гораздо более сложные задачи, чем парсер, но большинство из них нужно будет решить уже после того, как выйдет первая версия. И так как язык не будет языком общего назначения, по крайней мере в ближайшие пару лет, то решать их придётся на C++.
источник

BD

Berkus Decker in Compiler Development
Михаил Бахтерев
Очень странно, что Хикки попал в первый лагерь. Почему так?
почему брет виктор туда попал тоже странно
источник

M

MaxGraey in Compiler Development
Михаил Бахтерев
Кстати, а в JavaScript же завезли уже BigNum?
Давно
источник

M

MaxGraey in Compiler Development
Кстати тех, кого не берут ни в одно племя (или являются изгнанниками) вынуждены писать компиляторы похоже =) Ну а что им еще остается?
источник

МБ

Михаил Бахтерев in Compiler Development
Александр Вольнов
Первая версия предназначена только для бинарного. Чтобы разбирать все, наверное придётся встроить прямо в рантайм генератор парсеров на основе грамматики. А генератор парсеров написать будет сложнее, чем сделать простой парсер для языка.
Я уже писал обобщённый десериализатор для JSON-подобных языков, там можно настроить наличие/отсутствие кавычек, разделитель (':', '=' или любой другой) и ещё кучу всего, что позволило парсить как JSON, так и подмножество XML, а также сишные структуры с designated initializers. Написал за пару дней примерно вместе с сериализатором.
А язык я проектировал так, что его парсер будет не сильно сложнее парсера, который в десериализаторе. Думаю, он займёт не больше недели (2 выходных + вечера).
Есть гораздо более сложные задачи, чем парсер, но большинство из них нужно будет решить уже после того, как выйдет первая версия. И так как язык не будет языком общего назначения, по крайней мере в ближайшие пару лет, то решать их придётся на C++.
Как говаривал Линус Торвальдс, "talk is cheap, show me the code", ну, или хотя бы операционную/дентационную семантику. Надо просто взять, и сделать. Вдруг взлетит? Кто знает?
источник

IJ

Igor 🐱 Jirkov in Compiler Development
MaxGraey
Кстати тех, кого не берут ни в одно племя (или являются изгнанниками) вынуждены писать компиляторы похоже =) Ну а что им еще остается?
Ну компиляторы это зона 1-2, мне кажется
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
Кстати тех, кого не берут ни в одно племя (или являются изгнанниками) вынуждены писать компиляторы похоже =) Ну а что им еще остается?
Компилятор - это UI к вычислительным ресурсам компьютера.
источник

M

MaxGraey in Compiler Development
Михаил Бахтерев
Компилятор - это UI к вычислительным ресурсам компьютера.
Вот, то есть они как бы принадлежат ко всем трем племенам и ни к одному конкретно
источник

МБ

Михаил Бахтерев in Compiler Development
Четвёртое мистическое племя 👻
источник

АВ

Александр Вольнов in Compiler Development
Igor 🐱 Jirkov
Мне кажется, автор новой серебряной пули @devoln  -- максимально характерный человек  из второго племени программистов. Даже плюсы любит.
Думаю, да, ближе ко второму. Но остальные племена мне не чужды. Ведь у меня в языке будет многое от ФП, которое к первому племени относится, а на работе для рабочего проекта я сам выбрал язык (Edit:) Go, который явно для третьего племени создавался.
источник

p

polunin.ai in Compiler Development
Александр Вольнов
Думаю, да, ближе ко второму. Но остальные племена мне не чужды. Ведь у меня в языке будет многое от ФП, которое к первому племени относится, а на работе для рабочего проекта я сам выбрал язык (Edit:) Go, который явно для третьего племени создавался.
1С?
источник

АВ

Александр Вольнов in Compiler Development
Михаил Бахтерев
Как говаривал Линус Торвальдс, "talk is cheap, show me the code", ну, или хотя бы операционную/дентационную семантику. Надо просто взять, и сделать. Вдруг взлетит? Кто знает?
Цель моей беседы здесь - исследование рынка, анализ частых вопросов и всего такого, что поможет мне правильно предподнести свой язык, когда он будет готов.
А так да, надо взять и сделать. Только на это время нужно.
По поводу операционной и дентационной семантики. Я не силён в терминологии - что это означает и как её показать?
источник

АВ

Александр Вольнов in Compiler Development
Нет, тот который примерно в одно время с растом появился, из двух букв.
источник

p

polunin.ai in Compiler Development
Не понимаю тогда
источник

АВ

Александр Вольнов in Compiler Development
polunin.ai
Не понимаю тогда
А, я перепутал этот чат с другим, тут нет такого запрета. Язык Go.
Я про свой язык в чате про C++ рассказывал, а также упоминал там, что писал на Go на работе. Мне админ warn выдал.
источник