Size: a a a

Compiler Development

2020 January 02

AT

Alexey Tkachenko in Compiler Development
FORTRAN ONE LOVE
Если он умеет оптимизировать неиспользумые переменные и удалять их, тогда - да)
Убивал бы! Если переменная объявлена и не используется, это может значить что она пока не используется
источник

FO

FORTRAN ONE LOVE in Compiler Development
Alexey Tkachenko
Убивал бы! Если переменная объявлена и не используется, это может значить что она пока не используется
А ты сначала код напиши, где она используется, а потом автоформаттером код почистить от остатков прошлой жизни)
источник

AT

Alexey Tkachenko in Compiler Development
Ты ещё скажи что неиспользуемые импорты должны не позволять коду компилиться
источник

FO

FORTRAN ONE LOVE in Compiler Development
Alexey Tkachenko
Ты ещё скажи что неиспользуемые импорты должны не позволять коду компилиться
Да!)
источник

FO

FORTRAN ONE LOVE in Compiler Development
Именно так!
источник

AT

Alexey Tkachenko in Compiler Development
А goворишь Фортран...
источник

FO

FORTRAN ONE LOVE in Compiler Development
А еще нельзя авто типы (auto/var) и все типы надо руками писать
источник

FO

FORTRAN ONE LOVE in Compiler Development
Alexey Tkachenko
А goворишь Фортран...
А я стремлюсь сделать так, чтобы все было явно проинициализировано
источник

FO

FORTRAN ONE LOVE in Compiler Development
И таки падало, если есть неиспользуемые модули
источник

E

Eugene in Compiler Development
Alexey Tkachenko
Убивал бы! Если переменная объявлена и не используется, это может значить что она пока не используется
Неиспользуемая переменная - явный признак ошибки в программе, она означает, что где-то опечатка...
источник

AV

Alexey Veselovsky in Compiler Development
Eugene
Неиспользуемая переменная - явный признак ошибки в программе, она означает, что где-то опечатка...
неиспользуемая переменная говорит о том, что код ещё не дописан и идёт активная разработка и экспериментирование.
источник

AV

Alexey Veselovsky in Compiler Development
поэтому с такими переменными просто PR не должен пройти в мастер, а локально экспериментируй хоть до посинения
источник

AK

Andrei Kurosh in Compiler Development
FORTRAN ONE LOVE
И таки падало, если есть неиспользуемые модули
По идее это warning, но не error, равно как и неиспользуемая переменная
источник

FO

FORTRAN ONE LOVE in Compiler Development
Andrei Kurosh
По идее это warning, но не error, равно как и неиспользуемая переменная
Когда число неиспользуемых переменных переваливает за полторы тысячи на функцию, становится неприкольно
источник

AV

Alexey Veselovsky in Compiler Development
Andrei Kurosh
По идее это warning, но не error, равно как и неиспользуемая переменная
в Го - error 🙁
источник

FO

FORTRAN ONE LOVE in Compiler Development
Alexey Veselovsky
в Го - error 🙁
Смайлик у Вас неправильный
источник

M

MaxGraey in Compiler Development
Компилятор MSVC это что то с чем то!
https://twitter.com/FlohOfWoe/status/1212735510919053313

Andre Weissflog смутило, что вместо
shl rcx, 4

Компилятор сгенерил

mov ecx,16
div rcx

А меня смутило то, что вообще нету constant folding-а)
Вот код:
https://godbolt.org/z/BRK7D2
источник

M

MaxGraey in Compiler Development
А вот, что должно быть у нормального компилятора на выходе:
https://godbolt.org/z/6G3T1R
источник

E

Eugene in Compiler Development
Alexey Veselovsky
неиспользуемая переменная говорит о том, что код ещё не дописан и идёт активная разработка и экспериментирование.
экспериментирование означает, что разработчик не знает, что ему нужно сделать, поэтому пусть он сначала напишет правильную спецификацию, а потом уже пишет код
источник

AV

Alexey Veselovsky in Compiler Development
Eugene
экспериментирование означает, что разработчик не знает, что ему нужно сделать, поэтому пусть он сначала напишет правильную спецификацию, а потом уже пишет код
без экспериментирования ты спеку не напишешь. нужен материал основываясь на котором потом можно будет и спеку написать
источник