Size: a a a

Compiler Development

2020 December 17

M

MrSmith in Compiler Development
Только если сувать это в язык не понятно как стандартизировать
источник

PS

Pavel Samolysov in Compiler Development
Плагины компиляции вроде активно развиваются, на последнем llvm conf был доклад про плагины компиляции в clang
источник

M

MrSmith in Compiler Development
Ну земля им пухом, может для каких то проектов или компаний это нормально, но для дестребьюции это не полетит
источник

M

MrSmith in Compiler Development
А если мы хотим поставлять какие то хитрые макросы времени компиляции нам нужны какие то правила их работы и стандарт на то как оно должно работать
источник

M

MrSmith in Compiler Development
Я читал ишью от разрабов раст форматера пока было апи какое то и они явно поддерживали плагины вроде как у них не было особо проблем а щас почти каждый билд что то валится
источник

M

MrSmith in Compiler Development
Я просто думаю что смысла даже предлагать такое нет, потому что по сути это предложение засунуть язык для очередей в апи макросов
источник

PS

Pavel Samolysov in Compiler Development
Насчёт макросов и распространения не скажу, но некоторые проекты расширяют те же правила линтера под себя, например OMR, часть ibm jvm openj9, написали правило для своего кода, у них надо к полям и методам обращаться не через this, а через self. Но как такое распространять и правда неясно если только научить линтер и компилятор загружать плагины из DLL, скорее всего так и делается.
источник

M

MrSmith in Compiler Development
Ну вот а я примерно представляю как такое сделать и засунуть в язык
источник

M

MrSmith in Compiler Development
*примерно
источник

PS

Pavel Samolysov in Compiler Development
Потому что пересобирать весь clang это слишком жестко
источник

M

MrSmith in Compiler Development
Да не нужно пересобирать ничего просто нужно апи само это раз, а второе правила для реврайтинга
источник

M

MrSmith in Compiler Development
Что то типа мы не можем генерировать из того что изменилось/было сгенерированно
источник

M

MrSmith in Compiler Development
Тоесть DAG, ну и ограничить скоуп нужно
источник

M

MrSmith in Compiler Development
Все в принципе, если так подумать в function like макросах раста и так половина этого всего есть.
источник

M

MrSmith in Compiler Development
В с++ проще, они разбили стандарт уже вроде бы на три части, то что обязательно есть, то что возможно есть и вообще по желанию
источник

PS

Pavel Samolysov in Compiler Development
MrSmith
В с++ проще, они разбили стандарт уже вроде бы на три части, то что обязательно есть, то что возможно есть и вообще по желанию
Про это не слышал, но звучит разумно, только ещё нужно как-то проверять включено ли то, что ты хочешь и что делать, если нет.
источник

M

MrSmith in Compiler Development
Pavel Samolysov
Про это не слышал, но звучит разумно, только ещё нужно как-то проверять включено ли то, что ты хочешь и что делать, если нет.
У Полухина надо уточнить так сходу не гуглится, ну это разумней чем, к примеру, не стандартизировать аби by design, как в раст
источник

M

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

PS

Pavel Samolysov in Compiler Development
MrSmith
У Полухина надо уточнить так сходу не гуглится, ну это разумней чем, к примеру, не стандартизировать аби by design, как в раст
Так в плюсах аби тоже стандартизировано, только правило есть его не менять, это при том, что зачастую приходится все пересобирать
источник

PS

Pavel Samolysov in Compiler Development
Не стандартизовано
источник