Size: a a a

Compiler Development

2020 March 20

PS

Peter Sovietov in Compiler Development
K R
А как там с описанием такой машины?

В конце-концов, если взять человека с обычным дипломом программистского ПТУ №8, выдать ему 10 тысяч лет, код на Матлабе, этот человек рано или поздно напишет отлично оптимизированную и распараллеленную программу на языке Цэ или другом портируемом ассемблере.

А с другой стороны, высоколобые и умные люди не могут сварганить какой-то там компилятор.

Обычно это означает, что сама задача недопоставлена. То есть, нехватает каких-то определений, условий, что-то надо уточнять и т.д.
Если у Вас интерес не праздный, то для введения в курс дела посмотрите эту недавнюю презентацию и пройдитесь по ссылкам на последнем слайде:

Embedded manycore programming: From auto-parallelization to domain-specific languages
http://mcsoc-forum.org/m2019/wp-content/uploads/2019/10/191002_castrillon_mcsoc-opt.pdf
источник

IJ

Igor 🐱 Jirkov in Compiler Development
K R
А как там с описанием такой машины?

В конце-концов, если взять человека с обычным дипломом программистского ПТУ №8, выдать ему 10 тысяч лет, код на Матлабе, этот человек рано или поздно напишет отлично оптимизированную и распараллеленную программу на языке Цэ или другом портируемом ассемблере.

А с другой стороны, высоколобые и умные люди не могут сварганить какой-то там компилятор.

Обычно это означает, что сама задача недопоставлена. То есть, нехватает каких-то определений, условий, что-то надо уточнять и т.д.
Чтобы так сработало, человек должен уметь отличать "отлично оптимизированную и ..." программу ото всех остальных
источник

KR

K R in Compiler Development
Peter Sovietov
Если у Вас интерес не праздный, то для введения в курс дела посмотрите эту недавнюю презентацию и пройдитесь по ссылкам на последнем слайде:

Embedded manycore programming: From auto-parallelization to domain-specific languages
http://mcsoc-forum.org/m2019/wp-content/uploads/2019/10/191002_castrillon_mcsoc-opt.pdf
Большое спасибо.
источник
2020 March 21

АЗ

Алексей Запольский in Compiler Development
РебятДевчат, вот была статья на Хабре о скорости работы antlr. Но ведь Теренс Парр сказал, что на текущий момент antlr не для реальной работы, а для студентов и учёных. Вообще на русском языке потрепаться о парсинге есть какой форум? Или в телеге группа? Может создать?
источник

IK

Ivan Kochurkin in Compiler Development
Здесь можно, это в тему.
источник

IK

Ivan Kochurkin in Compiler Development
Ну сказал, а использовать можно и для реальной работы. У учёных работа нереальная?
источник

p

polunin.ai in Compiler Development
я думаю он имел в виду прод и научные исследования
источник

AT

Alexander Tchitchigin in Compiler Development
Алексей Запольский
РебятДевчат, вот была статья на Хабре о скорости работы antlr. Но ведь Теренс Парр сказал, что на текущий момент antlr не для реальной работы, а для студентов и учёных. Вообще на русском языке потрепаться о парсинге есть какой форум? Или в телеге группа? Может создать?
Это ж зависит от того что Вы хотите парсить и с какой скоростью. 🤷‍♀️
источник

AT

Alexander Tchitchigin in Compiler Development
Тем, у кого львиная доля времени приходится на обработку после парсинга - вообще пофиг. 😃
источник

IK

Ivan Kochurkin in Compiler Development
Если не переходит переключения в полноценный LL режим из SLL, то парсинг всегда быстрый. @lastrix спец в оптимизации грамматик - это как его статья была на хабре.
источник

СЛ

Сергей Лапынин in Compiler Development
ANTLR - из универсального самый быстрый, несмотря на то, что по определению универсальное не может быть быстрым =)
источник

СЛ

Сергей Лапынин in Compiler Development
однако можно написать "специализированное", которое будет работать медленнее, чем парсер на ANTLR
источник

АЗ

Алексей Запольский in Compiler Development
Ок, ну тогда писать статью об оптимизации antlr начиная с того, что надо ознакомиться с книгой о нём как-то не очень. Хотелось бы увидеть сначала комментарии о статье Adaptive LL(*) Parsing: The Power of Dynamic Analysis. Типа о нерешённых проблемах парсинга. В общем я к чему, Antlr позволяет писать читабельные грамматики, которые можно использовать вместо книг типа C++ за 21 день.
Сам не до конца понял, что хотел сказать. ☹️
источник

СЛ

Сергей Лапынин in Compiler Development
К черту ваши LL*. Делайте процесс таким, что ваши LL* в результате последовательности операций вырождаются в SLL.

Извините.
источник

p

polunin.ai in Compiler Development
Алексей Запольский
Ок, ну тогда писать статью об оптимизации antlr начиная с того, что надо ознакомиться с книгой о нём как-то не очень. Хотелось бы увидеть сначала комментарии о статье Adaptive LL(*) Parsing: The Power of Dynamic Analysis. Типа о нерешённых проблемах парсинга. В общем я к чему, Antlr позволяет писать читабельные грамматики, которые можно использовать вместо книг типа C++ за 21 день.
Сам не до конца понял, что хотел сказать. ☹️
>проблемах парсинга
эм, а это какие?
источник

AT

Alexander Tchitchigin in Compiler Development
polunin.ai
>проблемах парсинга
эм, а это какие?
Парсить произвольные CF-грамматики за линеное время? 😂
источник

p

polunin.ai in Compiler Development
Alexander Tchitchigin
Парсить произвольные CF-грамматики за линеное время? 😂
а за какое сейчас парсится? n*log(n)?
источник

p

polunin.ai in Compiler Development
в общем я к тому что для компиляторов время парсинга занимает очень мало времеин по сравнению с другими частями, и тут скорость парсинга не важна даже если будет n^2 времени, так как оно будет чувствоваться на файлах >10к строк.
источник

СЛ

Сергей Лапынин in Compiler Development
Ага, конечно. Сравните это с разбором файла за 1 секунду и 20 минут. Время парсинга не имеет значения... я так и запишу )
источник

p

polunin.ai in Compiler Development
Сергей Лапынин
Ага, конечно. Сравните это с разбором файла за 1 секунду и 20 минут. Время парсинга не имеет значения... я так и запишу )
>20 минут
это что за файл такой с исходным кодом?)
источник