Size: a a a

Compiler Development

2020 December 17

M

MrSmith in Compiler Development
OGR, не парсер
источник

YS

Yaroslav Schekin in Compiler Development
suhr
Отсутствие линейного порядка бинарных операций эквивалентно неоднозначной грамматике. И, соответственно, ошибка о том, что операции несравнимы, это ошибка про неоднозначность исходного кода.
Но сама-то грамматика у Swift однозначна, если я правильно понял.
А последующая обработка того, что получилось из "примерной" грамматики — широко используемый приём, по идее.
источник

s

suhr in Compiler Development
Yaroslav Schekin
Но сама-то грамматика у Swift однозначна, если я правильно понял.
А последующая обработка того, что получилось из "примерной" грамматики — широко используемый приём, по идее.
Синтаксически — нет, не однозначна. Но со стороны имплементации может быть и однозначна.
источник

YS

Yaroslav Schekin in Compiler Development
MrSmith
Может кто нибудь посмотреть на марпу?
Ну я смотрел, например. И да, это "вау", по идее, разве нет?
Проблема в том, что... как Вы это собираетесь на практике использовать (у marpa, кажется, есть только эта реализация, представляющая собой сплав perl+C)?
источник

BD

Berkus Decker in Compiler Development
Pavel Samolysov
Я погуглил, мне на ГИСы ссылку выдало. В контексте вашей реплики я понял, что вы про грамматику си vs раст.
грамматика у раста должна быть не сложнее и правда, неоднозначностей вроде бы меньше (не уверен потому что в паттерн матчинге есть несколько непонятных кейсов)
источник

M

MrSmith in Compiler Development
Yaroslav Schekin
Ну я смотрел, например. И да, это "вау", по идее, разве нет?
Проблема в том, что... как Вы это собираетесь на практике использовать (у marpa, кажется, есть только эта реализация, представляющая собой сплав perl+C)?
И как глубоко смотрели?
источник

BD

Berkus Decker in Compiler Development
я вчера посмотрел презу Макса по три-ситтеру и он прям хорош
источник

BD

Berkus Decker in Compiler Development
Pavel Samolysov
Потому что пересобирать весь clang это слишком жестко
всего 6-7 тысяч с++ файлов, это компилится на раз
источник

YS

Yaroslav Schekin in Compiler Development
suhr
Синтаксически — нет, не однозначна. Но со стороны имплементации может быть и однозначна.
Какая-то грамматика в документации есть, а реализация, насколько я вижу — recursive descent (но я буквально пару минут на неё посмотрел).
Кто-то проверял эту грамматику на однозначность, где можно почитать?
источник

YS

Yaroslav Schekin in Compiler Development
MrSmith
И как глубоко смотрели?
Не очень (с алгоритмом не разбирался). А какие вопросы?
источник

PS

Pavel Samolysov in Compiler Development
Berkus Decker
всего 6-7 тысяч с++ файлов, это компилится на раз
Ну у Торвальдса вот есть тредрипер, правда он Си компилит, а не С++, у меня же более скромные ресурсы. Вообще сборка LLVM + Clang + extras + MLIR это порядка 6000 таргетов, в 4 потока на I7 ноутбучном занимает порядка 3-4 часов, точно не засекал. У ЛЛВМ код не как у Pytorch, вот там да, тяжело было.
источник

M

MrSmith in Compiler Development
Yaroslav Schekin
Не очень (с алгоритмом не разбирался). А какие вопросы?
Про алгоритм)
источник

BD

Berkus Decker in Compiler Development
MrSmith
Может кто нибудь посмотреть на марпу?
там перл, ты не хочешь
источник

BD

Berkus Decker in Compiler Development
я вчера открыл и сразу же закрыл
источник

M

MrSmith in Compiler Development
Да я знаю, но сама идея интересная
источник

BD

Berkus Decker in Compiler Development
Pavel Samolysov
Ну у Торвальдса вот есть тредрипер, правда он Си компилит, а не С++, у меня же более скромные ресурсы. Вообще сборка LLVM + Clang + extras + MLIR это порядка 6000 таргетов, в 4 потока на I7 ноутбучном занимает порядка 3-4 часов, точно не засекал. У ЛЛВМ код не как у Pytorch, вот там да, тяжело было.
за 40 минут у меня на интелевом лаптопе собиралось
на арме думаю еще быстрее будет
источник

YS

Yaroslav Schekin in Compiler Development
MrSmith
Про алгоритм)
У автора есть статья с подробным объяснением и доказательством корректности, кажется.
Плюс статьи в блоге с объяснениями "на пальцах".
Видели Вы это всё?
источник

PS

Pavel Samolysov in Compiler Development
Berkus Decker
за 40 минут у меня на интелевом лаптопе собиралось
на арме думаю еще быстрее будет
Весь llvm с клангом?
источник

BD

Berkus Decker in Compiler Development
Pavel Samolysov
Весь llvm с клангом?
да, полный тулчейн но не под все поддерживаемые таргеты а сабсет из 4 вроде бы
источник

BD

Berkus Decker in Compiler Development
x86;arm;riscv;mips
источник