Size: a a a

Compiler Development

2021 February 25

PS

Peter Sovietov in Compiler Development
Иван Иванов
Добрый день! Вопрос такой: необходимо написать транслятор с языка ассемблера AVR в машинный код. Буду благодарен, если подскажете соответствующую литературу и прочие ресурсы
А я решил соригинальничать :)
https://hackaday.com/2015/08/06/hacking-a-universal-assembler/
источник
2021 February 26

a

alez in Compiler Development
Здрааствуйте чат. Мне нужен совет. Я заметил, что системы переписывания активно используются в оптимизаторах, а как на счет компиляторов в целом? Хочется свою систему, похожую на stratego, испробовать на построении компилятора. Это хорошая идея? Есть что нибудь почитать? Производительностью такого компилятора могу принебречь.
источник

K

Kir in Compiler Development
alez
Здрааствуйте чат. Мне нужен совет. Я заметил, что системы переписывания активно используются в оптимизаторах, а как на счет компиляторов в целом? Хочется свою систему, похожую на stratego, испробовать на построении компилятора. Это хорошая идея? Есть что нибудь почитать? Производительностью такого компилятора могу принебречь.
Я могу порекомендовать переписывать AST снизу вверх в каждом узле, до тех пор пока функция переписывания не сдастся. Таким образом можно быть уверенным, что у каждого узла AST все подузлы уже оптимизированны. И в функции переписывания исходить из этого факта.
источник

a

alez in Compiler Development
Kir
Я могу порекомендовать переписывать AST снизу вверх в каждом узле, до тех пор пока функция переписывания не сдастся. Таким образом можно быть уверенным, что у каждого узла AST все подузлы уже оптимизированны. И в функции переписывания исходить из этого факта.
Спасибо. А это на счет оптимизаций только, или предыдущие этапы тоже нужно выполнять снизу-вверх?
источник

K

Kir in Compiler Development
Это про оптимизации)
источник

ВМ

Виталий Медоваров... in Compiler Development
Vasiliy Tereshkov
Коллеги, подскажите: какие есть удобоваримые способы в однопроходном компиляторе запретить возвращать указатель на локальную переменную из функции? Хочу полностью обезопасить свой скриптовый язык.
https://github.com/vtereshkov/umka-lang
концепция времен жизни, наверное? Заводишь для всех функций(а точнее даже скоупов) и переменных такое время жизни, если время жизни переменной на которую указывает ссылка меньше или равно времени жизни скоупа/функции -- бьёшь по рукам
источник

AT

Alexander Tchitchigi... in Compiler Development
https://drewdevault.com/2021/02/15/Status-update-February-2021.html

Под катом -- набор добровольцев для написания стдлибы. Для "секретного языка программирования" от Дрю, понятное дело.
источник

PS

Peter Sovietov in Compiler Development
alez
Здрааствуйте чат. Мне нужен совет. Я заметил, что системы переписывания активно используются в оптимизаторах, а как на счет компиляторов в целом? Хочется свою систему, похожую на stratego, испробовать на построении компилятора. Это хорошая идея? Есть что нибудь почитать? Производительностью такого компилятора могу принебречь.
Я в такой манере написал несколько компиляторов. Так что дело вполне возможное. :)

В учебниках по компиляторам, увы, о стратегическом переписывании пока не пишут. Обращайтесь к статьям.
источник

M

MrSmith in Compiler Development
Kir
Я могу порекомендовать переписывать AST снизу вверх в каждом узле, до тех пор пока функция переписывания не сдастся. Таким образом можно быть уверенным, что у каждого узла AST все подузлы уже оптимизированны. И в функции переписывания исходить из этого факта.
Зачем вообще аст
источник

M

MrSmith in Compiler Development
Программа это не АСТ
источник

M

MrSmith in Compiler Development
Peter Sovietov
Я в такой манере написал несколько компиляторов. Так что дело вполне возможное. :)

В учебниках по компиляторам, увы, о стратегическом переписывании пока не пишут. Обращайтесь к статьям.
Open source?
источник

SP

Stanislav Popov in Compiler Development
Alexander Tchitchigin
https://drewdevault.com/2021/02/15/Status-update-February-2021.html

Под катом -- набор добровольцев для написания стдлибы. Для "секретного языка программирования" от Дрю, понятное дело.
len(os::args)

серьезно?
источник

AT

Alexander Tchitchigi... in Compiler Development
Stanislav Popov
len(os::args)

серьезно?
А чего Вы меня спрашиваете? Вот напишите Дрю и спросите его напрямую, серьёзно ли он. И есть ли генерики. 😃
источник

SP

Stanislav Popov in Compiler Development
щас бы каждому "изобретателю" языка писать и предьявлять почему он юзает :=, почему иф не экспрешен, почему выражение в ифе в скобках, почему можно так кринжово брать и юзать глобалки  которые непонятно откуда взялись
источник

АД

Антоний Диоген... in Compiler Development
Alexander Tchitchigin
https://drewdevault.com/2021/02/15/Status-update-February-2021.html

Под катом -- набор добровольцев для написания стдлибы. Для "секретного языка программирования" от Дрю, понятное дело.
Очередной растозиг?
источник

AT

Alexander Tchitchigi... in Compiler Development
Антоний Диоген
Очередной растозиг?
По моим впечатлениям — где-то между Go и Zig, вообще не близко к Rust.
источник

AT

Alexander Tchitchigi... in Compiler Development
Stanislav Popov
щас бы каждому "изобретателю" языка писать и предьявлять почему он юзает :=, почему иф не экспрешен, почему выражение в ифе в скобках, почему можно так кринжово брать и юзать глобалки  которые непонятно откуда взялись
Ну а чего тогда до len (или разрешения области видимости через ::? или глобальных переменных?) докопались? 😊
источник

AT

Alexander Tchitchigi... in Compiler Development
Alexander Tchitchigin
По моим впечатлениям — где-то между Go и Zig, вообще не близко к Rust.
Но автор пишет "стандарт языка" чтобы никто не сомневался — опубликует, узнаем в точности.
источник

SP

Stanislav Popov in Compiler Development
Alexander Tchitchigin
Ну а чего тогда до len (или разрешения области видимости через ::? или глобальных переменных?) докопались? 😊
да печалит что люди на очевидный мусор тратят кучу сил
источник

ВМ

Виталий Медоваров... in Compiler Development
там же наверху use os;
в чём претензия?
источник