Size: a a a

Compiler Development

2020 December 15

SI

Serghei Iakovlev in Compiler Development
Ivan Kochurkin
Интересно, как называются?
Кто, конторы? Конторы не в курсе как называются. Я читал (и смотрел доклад) Евгения Зуева, который в свое время занимался промышленой разработкой компилятора для С++. Собсвтенно с его слов и  знаю. В ютубе Зуева можно найти по "C++ зуев"
источник

DP

Dmitry Ponyatov in Compiler Development
а это не вопрос комитета по стандартизации языка?
источник

SI

Serghei Iakovlev in Compiler Development
Ivan Kochurkin
В этой статье тоже интересный подход: строится дерево возможных комбинаций синтаксиса в формате json.
Между прочим вариант имеет право на жизнь. Для меня это всегда было болью - идешь куда-то на гитхаб ищешь пример с кодом позаковырестее, потом окажется что был еще заковырестее, но ты не нашел и вот там то как раз твой парсер\сканнер упал бы ...
источник

AZ

Alexander Zaitsev in Compiler Development
Dmitry Ponyatov
а это не вопрос комитета по стандартизации языка?
что именно? предоставлять компиляторные тест-кейсы?
источник

SI

Serghei Iakovlev in Compiler Development
Alexander Zaitsev
что именно? предоставлять компиляторные тест-кейсы?
Ну, хотябы DSL для тестов
источник

AZ

Alexander Zaitsev in Compiler Development
могу только сказать за С++ комитет - он таким явно не страдает :) и даже разговоров о подобном я ни разу не слышал
источник

SI

Serghei Iakovlev in Compiler Development
А уже каждый компилятор под себя бы его применил
источник

AT

Alexander Tchitchigi... in Compiler Development
Alexander Zaitsev
что именно? предоставлять компиляторные тест-кейсы?
Я слышал, для Java есть... Слышал, его продавали за большие деньги. 😁
источник

SI

Serghei Iakovlev in Compiler Development
:D ну вот те "конторы" про которыя я умпоминал вроде как это их бизнес — продавать такие наборы
источник

SI

Serghei Iakovlev in Compiler Development
Нужна книжка "Структура и интерпретация компиляторных тестов" ))
источник

M

MrSmith in Compiler Development
Dmitry Ponyatov
а это не вопрос комитета по стандартизации языка?
Комитет ub то в список собрать не может, в этом году кто то собрал с помейткой 'вроде все но не точно'
источник

DP

Dmitry Ponyatov in Compiler Development
Alexander Zaitsev
что именно? предоставлять компиляторные тест-кейсы?
ну например определять стандарт языка ()() как комплект тестов — "реализация, проходящая набор тестов core.A и core.B является языком ()()"
источник

AZ

Alexander Zaitsev in Compiler Development
Dmitry Ponyatov
ну например определять стандарт языка ()() как комплект тестов — "реализация, проходящая набор тестов core.A и core.B является языком ()()"
звучит очень приятно, на самом деле. А есть пример какого-нибудь языка, в котором комитет этим занимается и предоставляет такие тесты?
источник

M

MrSmith in Compiler Development
А тестировать что? Сначала надо поверить что парсер валиден, потом что аст валидно, потом что семантика валидна. Тут уже так или иначе нужно прикручивать какое то апи от тест пака
источник

M

MrSmith in Compiler Development
Ну и в конечном итоге, если уже нужен самый высокий уровень доверия можно просто брать формально коретный компилятор, так что не думаю что тесты стоят прям Очень дорого, в конечном итоге у Gcc же тоже свой пак есть
источник

M

MrSmith in Compiler Development
Dmitry Ponyatov
ну например определять стандарт языка ()() как комплект тестов — "реализация, проходящая набор тестов core.A и core.B является языком ()()"
Начнем с того, а формально это вообше возможно?
источник

M

MrSmith in Compiler Development
Я про то что, если компиль проходит 40 тестов это вовсе не значит что на 41 он не упадет
источник

PS

Pavel Samolysov in Compiler Development
Вообще толково поручить создание тест сьюта не тем людям, кто пишет сам компилятор а ещё лучше другой компании
источник

M

MrSmith in Compiler Development
Проблема в том, что надо сначала понять что писать, какие требования мы выдвигаем к тест паку, если я правильно понимаю, в компилятора строении тесты в основном регриссионные
источник

SI

Serghei Iakovlev in Compiler Development
Ну вот Зуев кажется и писал, что для тестирования компилятора нанималась отдельная контора, которая вообще не знала что они там пишут, кроме формального "компилятор для C++ версии языка XX". Они мол даже не контактировали.
источник