Size: a a a

Compiler Development

2021 May 13

MO

Mar Ort in Compiler Development
он в процессе
источник

M

MaxGraey in Compiler Development
Проблема не в GC вовершенно. Яркий тому пример - TinyGo, AssemblyScript. А вот Swift (SwiftWasm) у которого нету GC весит поболее чем оыбчный Go/wasm
источник

AT

Alexander Tchitchigi... in Compiler Development
Учтите только, что ANTLR не позволяет "определить правила трансляции его конструкций" — это просто генератор парсеров. Но как генератор парсеров — отличная штука!
источник

D

Danya in Compiler Development
Понял, спасибо
источник

MO

Mar Ort in Compiler Development
это мутабельное дерево с семантической информацией
источник

D

Danya in Compiler Development
А не проще было бы просто переписать GC в старом компиляторе?
источник

AT

Alexander Tchitchigi... in Compiler Development
Мутабельное? Можно узнать подробности — почему так, что насчёт многопоточной компиляции и т.п.? 😊
источник

MO

Mar Ort in Compiler Development
Практика показала, что нет, хотя историю с переписыванием GC в Kotlin/Native я не особо знаю
источник

РС

Роман Соловьев... in Compiler Development
Как-то у меня странно выходит😬


Variable = Letter | Underscore (Char)+
Char = Letter | Numeral | Underscore
Letter = [a-zA-Z]
Numeral = [0-9]
Underscore = "_"


First(Char) = {[a-zA-Z], [0-9], "_"}
First (Variable) = {[a-zA-Z], "_"}


Follow(Underscore) = {$, [a-zA-Z], [0-9]}
Follow(Numeral) = {$}
Follow(Letter) = {$}
Follow(Char) = {$}
источник

ZB

Zalim Bashorov in Compiler Development
Если коротко
* скорость - для веб разработки нужна быстрая скорость компиляции, поэтому дев билды мы генерим напрямую, плюс будет инкрементальная компиляция
* размер — опять таки, в вебе очень важно
* лучшая интеграция с окружением, в особенности с GC
источник

MO

Mar Ort in Compiler Development
Многопоточная компиляция работает 😏
источник

AT

Alexander Tchitchigi... in Compiler Development
Так как синхронизируете? 😉
источник

MO

Mar Ort in Compiler Development
Так вы же не обрабатываете одну и туже функцию одновременно разными трансформациями
источник

Т8

Т-34 85 in Compiler Development
О, круто! Значит ли это, что Scala умрёт?🤔
источник

AS

Andrei Sudovtsov in Compiler Development
А перечисленные вами позволяют транслировать код в код, т. е.
 declare my_super_int with name var and init with value = 3
(my weird lang) =>
 int var = 3;
(C++)?
источник

MO

Mar Ort in Compiler Development
в текущем виде единица атомарности вообще файл, внутри которого синхронизация осуществляется ни на самом дереве, а на вспомогательных структурах вроде таблиц, которых конечное число в компиляторе
источник

AT

Alexander Tchitchigi... in Compiler Development
Ага, так же как Fortran и Ada. 👍
источник

ZB

Zalim Bashorov in Compiler Development
скорее не только в размере, а сколько в том что без интеграции со внешним GC (не обязательно преиспользованием) будут утечки памяти. Это будет критично при активном взаимодействии.
источник

AT

Alexander Tchitchigi... in Compiler Development
Позволяют.
источник

Т8

Т-34 85 in Compiler Development
Если верить Википедии, то в Ada 2012 есть зависимые типы
источник