Size: a a a

Compiler Development

2021 March 13

AG

Alex Gryzlov in Compiler Development
только если вы делаете dsl/shallow embedding
источник

K

Kir in Compiler Development
Alex Gryzlov
только если вы делаете dsl/shallow embedding
Но это будет программа на хост-языке, а не на моделируемом.
источник

[

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

K

Kir in Compiler Development
[BRM]White Rabbit
Если ты пишешь компилятор на хаскеле, то ты можешь добавить своему языку кусочек ахриненности хаскеля путём имплементации фп-фич😎
И лучше сразу добавить delimited continuations
источник

dt

d t in Compiler Development
Tim Plotnikov
Господа, такой может глупый вопрос: если я пишу компилятор на каком-то языке, могу я в теории использовать свойства этого языка в своём компиляторе?
Ну типа там пишешь на расте и добавляешь к себе в язык его borrow checker?
Некоторые свойства языка поддерживаются рантаймом, например сборка мусора, и такое вполне можно затаскивать в разрабатываемый язык.
источник

[

[BRM]White Rabbit in Compiler Development
Kir
И лучше сразу добавить delimited continuations
Это которое оператор . ?
источник
2021 March 14

AT

Alexander Tchitchigi... in Compiler Development
d t
Некоторые свойства языка поддерживаются рантаймом, например сборка мусора, и такое вполне можно затаскивать в разрабатываемый язык.
М? Как можно GC из языка разработки затащить в компилируемый язык?
источник

IP

Iaroslav Postovalov in Compiler Development
Alexander Tchitchigin
М? Как можно GC из языка разработки затащить в компилируемый язык?
Пишем компилятор на Джаве, генерируем байткод ее
источник

AK

Andrei Kurosh in Compiler Development
Iaroslav Postovalov
Пишем компилятор на Джаве, генерируем байткод ее
С тем же успехом можно написать компилятор языка X в байт-код JVM на любом другом языке, хоть на брейнфаке - сама Джава тут никак не помогает
источник

IP

Iaroslav Postovalov in Compiler Development
Andrei Kurosh
С тем же успехом можно написать компилятор языка X в байт-код JVM на любом другом языке, хоть на брейнфаке - сама Джава тут никак не помогает
Не помогает, но изначальному высказыванию это соответствует. А вообще, помогает: нормально манипулировать байткодом можно только через библиотеку OW ASM
источник

AK

Andrei Kurosh in Compiler Development
Iaroslav Postovalov
Не помогает, но изначальному высказыванию это соответствует. А вообще, помогает: нормально манипулировать байткодом можно только через библиотеку OW ASM
Нет, мы воспользовались GC за счет общей виртуальной машины, но так просто совпало, а язык реализации компилятора оказался абсолютно не при чем
источник

dt

d t in Compiler Development
Alexander Tchitchigin
М? Как можно GC из языка разработки затащить в компилируемый язык?
Можно использовать рантайм в своем языке, прилинковавшись к нему, или транслировать код в  вм  языка на котором разрабатываешь.
источник

IP

Iaroslav Postovalov in Compiler Development
Andrei Kurosh
Нет, мы воспользовались GC за счет общей виртуальной машины, но так просто совпало, а язык реализации компилятора оказался абсолютно не при чем
Свойства джавы - это на 90% свойства ее байткода.
источник

AT

Alexander Tchitchigi... in Compiler Development
d t
Можно использовать рантайм в своем языке, прилинковавшись к нему, или транслировать код в  вм  языка на котором разрабатываешь.
В смысле "если можно прилинковаться к рантайму -- можно его использовать вне зависимости от языка"? 😊
источник

AK

Andrei Kurosh in Compiler Development
Iaroslav Postovalov
Свойства джавы - это на 90% свойства ее байткода.
Так, давайте вернемся к оригинальному утверждению. Как в языке X использовать фичу языка Y, на котором написан компилятор языка X?
источник

dt

d t in Compiler Development
Andrei Kurosh
Нет, мы воспользовались GC за счет общей виртуальной машины, но так просто совпало, а язык реализации компилятора оказался абсолютно не при чем
Да, возможно не причем. Но я десять раз подумал прежде чем написать, и написал потому как было ясно что спрашивающий мало понимает как что устроено, и из вопроса не ясно что именно он хотел.
источник

IP

Iaroslav Postovalov in Compiler Development
Andrei Kurosh
Так, давайте вернемся к оригинальному утверждению. Как в языке X использовать фичу языка Y, на котором написан компилятор языка X?
Никак, естественно
источник

AK

Andrei Kurosh in Compiler Development
Ч Т Д
источник

dt

d t in Compiler Development
Alexander Tchitchigin
В смысле "если можно прилинковаться к рантайму -- можно его использовать вне зависимости от языка"? 😊
Такое возможно, да. Но ясно же что не во всех случаях.
источник

AK

Andrei Kurosh in Compiler Development
Можно (наверное) написать транслятор языка X в язык Y на языке Y, и тогда возможно что-то сработает
источник