Size: a a a

Compiler Development

2021 March 14

IP

Iaroslav Postovalov in Compiler Development
источник

AT

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

TP

Tim Plotnikov in Compiler Development
Всем доброе утро)
Понял что не особо возможно, ну или возможно но в ограниченных количествах
источник

TP

Tim Plotnikov in Compiler Development
Стало ясно что использовать например систему типов
источник

TP

Tim Plotnikov in Compiler Development
Гц вряд ли, это да
источник

K

Kir in Compiler Development
[BRM]White Rabbit
Это которое оператор . ?
Нет, это которые shift/reset
источник

VM

Victor Miasnikov in Compiler Development
Tim Plotnikov
Гц вряд ли, это да
Можно.

На Modula-3 реализовывали Java.
Наличие GC в runtime M3 выразимся так - "не помешало".
источник

VM

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

MSheme написанный на Modula-3.

--

==
> Как в языке X использовать _фичу_ языка Y, на котором написан компилятор языка X?
==

==
> Нет, мы воспользовались GC за счет общей виртуальной машины, но так просто совпало, а язык реализации компилятора оказался абсолютно не при чем
==

 ( Компилятор Modula-3, кстати,  "AOT compiler". VM если и есть, то как абстракция.)

Экосистема Modula-3 способствовала успеху.

Конечно, не вполне ясно относить ли GC к runtime или к language features.

Обычно, за исключением консервативных GC ( Boehm GC, например) требуется поддержка со стороны компилятора.

P.S.

Между прочим, в readme Boehm GC явным образом запрещена одна из оптимизаций.

Что-то из области адресной арифметики.

Т.е. наличие GC, даже в консервативном варианте, необходимо учитывать.
источник

[

[BRM]White Rabbit in Compiler Development
Iaroslav Postovalov
Не помогает, но изначальному высказыванию это соответствует. А вообще, помогает: нормально манипулировать байткодом можно только через библиотеку OW ASM
А если я это буду писать на котле или скале, то я уже получается передаю языку свойства котла или скалы, а не джавы, так?!
источник

IP

Iaroslav Postovalov in Compiler Development
[BRM]White Rabbit
А если я это буду писать на котле или скале, то я уже получается передаю языку свойства котла или скалы, а не джавы, так?!
Что?
источник

IP

Iaroslav Postovalov in Compiler Development
[BRM]White Rabbit
А если я это буду писать на котле или скале, то я уже получается передаю языку свойства котла или скалы, а не джавы, так?!
Котлин и Скала используют тот же байт-код, что и джава
источник

[

[BRM]White Rabbit in Compiler Development
Ну.
Тогда каким образом ты передаёшь языку свойства жабы, используя байт-код жвм, если это свойства общего рантайма?
источник

K

Kir in Compiler Development
[BRM]White Rabbit
Ну.
Тогда каким образом ты передаёшь языку свойства жабы, используя байт-код жвм, если это свойства общего рантайма?
Какие-то свойства можно передать, только если рантайм написан на языке с этими свойствами
источник

[

[BRM]White Rabbit in Compiler Development
А если хочешь компилируемый в натив, то надо своими силами побеждать, да?
источник

K

Kir in Compiler Development
То своими, да
источник

IP

Iaroslav Postovalov in Compiler Development
[BRM]White Rabbit
Ну.
Тогда каким образом ты передаёшь языку свойства жабы, используя байт-код жвм, если это свойства общего рантайма?
Рантайм делали исключительно под свойства Джавы
источник

IP

Iaroslav Postovalov in Compiler Development
В общем, вы меня ведете в какую-то софистическую беседу.
источник

РС

Роман Соловьев... in Compiler Development
а как на том же ANTLR например, описать работу цикла While
источник

Vk

Voffka kozhaev in Compiler Development
Роман Соловьев
а как на том же ANTLR например, описать работу цикла While
Эм... на сколько я понимаю, ANTLR это генератор парсеров по грамматике.  Как работает обработчик дерева ANTLR не знает, поскольку ты его пишешь сам
источник

Vk

Voffka kozhaev in Compiler Development
А написать ,конечно, можно что хочешь
источник