Size: a a a

Compiler Development

2020 April 19

DP

Dmitry Ponyatov in Compiler Development
семантический (синтаксический?) diff я бы крайне приветствовал в комплекте с meld , совершенно категорически
семантический patch который не трогает код который делает то же самое, еще туда/сюда
но вот про версионирование не видящее косметическое форматирование кода, в растерянности...
источник

DC

Denis Chernikov in Compiler Development
Dmitry Ponyatov
А есть системы контроля версий, которые не по строкам работают, а по AST конкретных языков?
правда сам не могу понять, что будет если diff будет считать два куска, отличающихся только пробелами и порядком литералов в сетах, одним и тем же
Может быть, если мышление уходит на уровень AST, то уже не должно быть разницы в отступах и пробелах? 🤔
источник

p

polunin.ai in Compiler Development
Dmitry Ponyatov
А есть системы контроля версий, которые не по строкам работают, а по AST конкретных языков?
правда сам не могу понять, что будет если diff будет считать два куска, отличающихся только пробелами и порядком литералов в сетах, одним и тем же
Тогда пропадут споры о форматировании кода. При пулле из ветки гит будет автоматически создавать код по выбранному форматированию😁
источник

ИЧ

Илья Чистяков in Compiler Development
как такой diff читать глазами, непонятно
источник

p

polunin.ai in Compiler Development
Кстати а что с комментариями? Их в АСТ нету, как быть?
источник

ИЧ

Илья Чистяков in Compiler Development
вот в блюпринте это более уместно, хотя всё равно чёрт ногу сломит
источник

DP

Dmitry Ponyatov in Compiler Development
polunin.ai
Кстати а что с комментариями? Их в АСТ нету, как быть?
учитывая что там зачастую какой-нибудь doxygen пора уже в языки вводить отдельный пласт синтаксиса документирования, а не тухленький __docstring__
источник

ИЧ

Илья Чистяков in Compiler Development
дерево разбора можно юзать, так-то решаемо, вопрос в том, как это отображать, чтоб не умереть
источник

KR

K R in Compiler Development
Dmitry Ponyatov
учитывая что там зачастую какой-нибудь doxygen пора уже в языки вводить отдельный пласт синтаксиса документирования, а не тухленький __docstring__
Это всего лишь FFI для html.
источник

p

polunin.ai in Compiler Development
Илья Чистяков
дерево разбора можно юзать, так-то решаемо, вопрос в том, как это отображать, чтоб не умереть
Как обычно?
источник

ИЧ

Илья Чистяков in Compiler Development
polunin.ai
Как обычно?
не встречал таких инструментов, так что не знаю, код то пишется не в дереве, а в блокнотике, и дифф хочется читать понятным способом
источник

KR

K R in Compiler Development
Илья Чистяков
дерево разбора можно юзать, так-то решаемо, вопрос в том, как это отображать, чтоб не умереть
Как хороший постер не  должен содержать текст рассказа, так и комментарии не должны повествовать о том, что можно понять из AST.

Реально, есть груда информации, которую можно вытащить из AST. И тогда даже комментов не надо.
источник

ИЧ

Илья Чистяков in Compiler Development
K R
Как хороший постер не  должен содержать текст рассказа, так и комментарии не должны повествовать о том, что можно понять из AST.

Реально, есть груда информации, которую можно вытащить из AST. И тогда даже комментов не надо.
а как быть с # fmt: off?))
источник

DC

Denis Chernikov in Compiler Development
Илья Чистяков
не встречал таких инструментов, так что не знаю, код то пишется не в дереве, а в блокнотике, и дифф хочется читать понятным способом
Почему бы не применить преднастроенное форматирование просто?
источник

ИЧ

Илья Чистяков in Compiler Development
Denis Chernikov
Почему бы не применить преднастроенное форматирование просто?
я так понял вопрос не в форматировании, а в более умной системе слияния
источник

KR

K R in Compiler Development
С форматированием сейчас все долбанулимь, если честно. Профессионал способен работать с любым форматированием, если оно более менее консистентно в каждом файле.
источник

DC

Denis Chernikov in Compiler Development
Илья Чистяков
я так понял вопрос не в форматировании, а в более умной системе слияния
Ну да, просто и читать его будет удобно вполне, если к этой информации об изменении в дереве просто применить к до/после одинаковое форматирование, и показывать как старый добрый гит
источник

ИЧ

Илья Чистяков in Compiler Development
K R
С форматированием сейчас все долбанулимь, если честно. Профессионал способен работать с любым форматированием, если оно более менее консистентно в каждом файле.
да, особенно весело когда их несколько и они противоречат друг другу)
источник

DP

Dmitry Ponyatov in Compiler Development
Dmitry Ponyatov
учитывая что там зачастую какой-нибудь doxygen пора уже в языки вводить отдельный пласт синтаксиса документирования, а не тухленький __docstring__
или "синтаксические оверлеи" которыми можно прикручивать разнообразные препроцессоры и IDE
собственно, плоский plain text код давно под сомнение ставится, а то и вообще книги как связный рулон линейного текста
короче, не будет никакого ни кино, не телевидения, только один сплошной гиперграф...
источник

ИЧ

Илья Чистяков in Compiler Development
Denis Chernikov
Ну да, просто и читать его будет удобно вполне, если к этой информации об изменении в дереве просто применить к до/после одинаковое форматирование, и показывать как старый добрый гит
не очень понятно с каким кейсом поможет такой дифф, если настроен black
источник