Size: a a a

Compiler Development

2020 March 21

BD

Berkus Decker in Compiler Development
(т.е. это была ошибка не кешировать дерево доминаторов, а считать его каждый раз на каждую из 50,000 ошибок)
источник

IK

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

СЛ

Сергей Лапынин in Compiler Development
Ivan Kochurkin
Вообще про быстроту в слове "универсальный" нет - это разве что следствие :)
Скорее приятный бонус, если универсальное еще и быстрым оказывается.
источник

AT

Alexander Tchitchigin in Compiler Development
Холивара ради: https://drewdevault.com/2020/01/04/Slow.html 😁
источник

АЗ

Алексей Запольский in Compiler Development
Ivan Kochurkin
Если не переходит переключения в полноценный LL режим из SLL, то парсинг всегда быстрый. @lastrix спец в оптимизации грамматик - это как его статья была на хабре.
Вот тут захотелось попросить Сергея взглянуть на мою грамматику языка Harbour(нынешнее расширение Clipper), тока там 1500 строк, и в лексере ключевые слова могут быть сокращены до 4х  символов. Думаю ужаснет.
источник

C

Constantine in Compiler Development
😳Zig победил
источник

AT

Alexander Tchitchigin in Compiler Development
Constantine
😳Zig победил
Это не соревнование. 😊
источник

C

Constantine in Compiler Development
Alexander Tchitchigin
Это не соревнование. 😊
Было бы неплохо, если бы он ещё объяснил, почему Zig делает 2-3 системных вызова, а C 5-13 🤔
источник

AT

Alexander Tchitchigin in Compiler Development
Constantine
Было бы неплохо, если бы он ещё объяснил, почему Zig делает 2-3 системных вызова, а C 5-13 🤔
Так Дрю и не знает - не он же Zig разрабатывает. 🤷‍♀️
Кроме того, для особо внимательных - он в следующем посте пояснил, на что намекал в этом. 😉
источник

VM

Victor Miasnikov in Compiler Development
Алексей Запольский
Вот тут захотелось попросить Сергея взглянуть на мою грамматику языка Harbour(нынешнее расширение Clipper), тока там 1500 строк, и в лексере ключевые слова могут быть сокращены до 4х  символов. Думаю ужаснет.
А грамматика Clarion ( раз уж вспомнили Clipper)?

Существует ли "в общем доступе"?

Какова оцениваемая сложность?
источник

PS

Peter Sovietov in Compiler Development
Alexander Tchitchigin
Так Дрю и не знает - не он же Zig разрабатывает. 🤷‍♀️
Кроме того, для особо внимательных - он в следующем посте пояснил, на что намекал в этом. 😉
Автор почему-то смешивает понятие "системного языка" с нюансами компиляции в Линуксе. Приличный компилятор для системного языка должен бы уметь генерировать код вообще без syscalls. И, нет, это будет не бессмысленная программа. В некоторых случаях достаточно просто читать и записывать в ячейки по специальным адресам, чтобы получить ввод/вывод :)
И в этой связи было бы интересно посмотреть, как в компиляторах разных языков сработает опция "-nostdlib". А вот с выводом автора я согласен, даже Zig на роль системного языка не тянет.
источник

AT

Alexander Tchitchigin in Compiler Development
Peter Sovietov
Автор почему-то смешивает понятие "системного языка" с нюансами компиляции в Линуксе. Приличный компилятор для системного языка должен бы уметь генерировать код вообще без syscalls. И, нет, это будет не бессмысленная программа. В некоторых случаях достаточно просто читать и записывать в ячейки по специальным адресам, чтобы получить ввод/вывод :)
И в этой связи было бы интересно посмотреть, как в компиляторах разных языков сработает опция "-nostdlib". А вот с выводом автора я согласен, даже Zig на роль системного языка не тянет.
Я там про "системные языки" вообще не помню. Автор отождествляет (for the sake of the argument I believe) количество системных вызовов и сложность системы. В части отладки и оптимизации всего этого великолепия я с ним согласен.

Кроме того, напомню лишний раз, что это не соревнование и не бенчмарк. Дрю просто raising awareness of hidden complexity, не давая никаких оценок.
источник

AT

Alexander Tchitchigin in Compiler Development
Но в этой связи можно было бы провести немало любопытных замеров и понарисовать графиков и линий тренда. Только на это времени придётся убить немеряно... 😊
источник

VM

Victor Miasnikov in Compiler Development
Ну, ну: языки, на которых были написаны ОС "в реальности", там даже не упомянуты.

Например, Modula-2 ( Н.Вирт и Новосибирск), Modula-3 ( SPIN, там, правда, и Си в роли asm), Active Oberon ( A2, MiniOS )
источник

KR

K R in Compiler Development
Peter Sovietov
Автор почему-то смешивает понятие "системного языка" с нюансами компиляции в Линуксе. Приличный компилятор для системного языка должен бы уметь генерировать код вообще без syscalls. И, нет, это будет не бессмысленная программа. В некоторых случаях достаточно просто читать и записывать в ячейки по специальным адресам, чтобы получить ввод/вывод :)
И в этой связи было бы интересно посмотреть, как в компиляторах разных языков сработает опция "-nostdlib". А вот с выводом автора я согласен, даже Zig на роль системного языка не тянет.
Но вы же тогда вообще не сможете предсказать производительность.
источник

AT

Alexander Tchitchigin in Compiler Development
Victor Miasnikov
Ну, ну: языки, на которых были написаны ОС "в реальности", там даже не упомянуты.

Например, Modula-2 ( Н.Вирт и Новосибирск), Modula-3 ( SPIN, там, правда, и Си в роли asm), Active Oberon ( A2, MiniOS )
А при чём тут написаны ОС или нет???
источник

VM

Victor Miasnikov in Compiler Development
Alexander Tchitchigin
А при чём тут написаны ОС или нет???
А это я среагировал на "системные языки" ...

--

И в чём проблема?
источник

AT

Alexander Tchitchigin in Compiler Development
Victor Miasnikov
А это я среагировал на "системные языки" ...

--

И в чём проблема?
А где Вы взяли "системные языки"? 😊
источник

AT

Alexander Tchitchigin in Compiler Development
По слову "system" на странице находится только System.out.println("hello world");. 🤷‍♀️
источник

VM

Victor Miasnikov in Compiler Development
Alexander Tchitchigin
А где Вы взяли "системные языки"? 😊
А здесь в обсуждении...

--

Кстати,  hello.exe не является "simplest possible task".

Это я могу утверждать по опыту испытания отладчиков на .exe из примеров на Modula-3
источник