Size: a a a

Compiler Development

2020 July 09

AT

Alexander Tchitchigi... in Compiler Development
Я знаю намного более обширный источник "неприятных новостей о будущем". 😂🙈🙉🙊
источник

PV

Peter Vanin in Compiler Development
Жаль не на сто)
источник

꧁Станцуем жизнь꧂... in Compiler Development
Victor Miasnikov
На Хабре можно узнать неприятные новости о будущем и "подстелить соломки"

Пример:

Кстати, про Apple.

Google поддержал инициативу и теперь обе империи зла будут "чмырить" ( термин верный уж больно: ибо из практики их подельников масштабом помельче) SSL сертификаты сроком более чем на 398 дней.

Никакого зла не хватает...
Раньше можно было закупать на 2 года. Теперь - возни в два раза больше.

( Изготовители сертификатов на "сходняке" были против. Их было 2/3. Но беспредельщикам - не указ)

Такие вот будни империализма...
А я думала тут за политику обсуждать это дурной тон
источник

VM

Victor Miasnikov in Compiler Development
꧁Станцуем жизнь꧂
А я думала тут за политику обсуждать это дурной тон
И где она?

Сплошная экономика.

( Хотя: базис определяет... С этим согласен)


---


А про Ada и линтеры?

Т.е. мои догадки правильные ?
( меня слегка опередили в наборе)
источник

AT

Alexander Tchitchigi... in Compiler Development
Victor Miasnikov
И где она?

Сплошная экономика.

( Хотя: базис определяет... С этим согласен)


---


А про Ada и линтеры?

Т.е. мои догадки правильные ?
( меня слегка опередили в наборе)
Экономика тоже оффтоп, так что дискуссию сворачиваем.
источник

c

cevek in Compiler Development
такой вопрос: как в строго типизированных языках работают интерфейсы?
допустим у нас есть класс, он имплентирует несколько интерфейсов, и допустим у нас есть функция которая принимает конкретный интерфейс и обращается к какому нибудь полю в нем
как компилятор трансформирует такой код? по сути нужно как то получить смещение для поля в полученном объекте, но объекты приходят разные и с разным набором полей
источник

AT

Alexander Tchitchigi... in Compiler Development
cevek
такой вопрос: как в строго типизированных языках работают интерфейсы?
допустим у нас есть класс, он имплентирует несколько интерфейсов, и допустим у нас есть функция которая принимает конкретный интерфейс и обращается к какому нибудь полю в нем
как компилятор трансформирует такой код? по сути нужно как то получить смещение для поля в полученном объекте, но объекты приходят разные и с разным набором полей
Вот поэтому в интерфейсах не бывает полей! 😃
источник

c

cevek in Compiler Development
ну разницы нет, поле, метод
источник

c

cevek in Compiler Development
неужто в хешмапе ищется?
источник

AT

Alexander Tchitchigi... in Compiler Development
cevek
ну разницы нет, поле, метод
Разница огромна! Видимо, Вам нужно почитать как реализуется ООП в C++/Java/C# и что такое virtual method table в частности.
источник

AK

Andrei Kurosh in Compiler Development
Victor Miasnikov
На Хабре можно узнать неприятные новости о будущем и "подстелить соломки"

Пример:

Кстати, про Apple.

Google поддержал инициативу и теперь обе империи зла будут "чмырить" ( термин верный уж больно: ибо из практики их подельников масштабом помельче) SSL сертификаты сроком более чем на 398 дней.

Никакого зла не хватает...
Раньше можно было закупать на 2 года. Теперь - возни в два раза больше.

( Изготовители сертификатов на "сходняке" были против. Их было 2/3. Но беспредельщикам - не указ)

Такие вот будни империализма...
Зачем закупать сертификаты вообще?
источник

꧁Станцуем жизнь꧂... in Compiler Development
Victor Miasnikov
И где она?

Сплошная экономика.

( Хотя: базис определяет... С этим согласен)


---


А про Ada и линтеры?

Т.е. мои догадки правильные ?
( меня слегка опередили в наборе)
Ты обсуждал политику компании.... если у тебя политика вызывают ассоциации только с государствами, это не мои проблемы. Как тут заметили даже экономика это не обсуждение компиляторов
источник

f

fldlg2 in Compiler Development
Val Krylov
В связи со всплытием в чате вечной темы "закат солнца вручную" (left recursion elimination руками разработчика), хочется уточнить: а встречалась ли кому-нибудь в чате _конструктивная_ критика bottom-up парсеров? Не "в нашем top-down есть, а yacc не умеет", а пруфы "в bottom-up такое не сделать", если они вообще есть? ;)
Есть известная картинка: https://i.stack.imgur.com/rivKh.jpg
На ней видно, что существуют грамматики, которые покрыты LL(1) и, тем более, LL(k), но не LALR(1). (Впрочем, обратное тоже верно).
С другой стороны, LALR(k) покрывает и LR(k), и LL(k) — этого на картинке нет (генераторы LALR(k) лично мне неизвестны, но если я правильно помню теорию, то это так.)
источник

c

cevek in Compiler Development
Alexander Tchitchigin
Разница огромна! Видимо, Вам нужно почитать как реализуется ООП в C++/Java/C# и что такое virtual method table в частности.
а есть статейки хорошие?
источник

AT

Alexander Tchitchigi... in Compiler Development
꧁Станцуем жизнь꧂
Ты обсуждал политику компании.... если у тебя политика вызывают ассоциации только с государствами, это не мои проблемы. Как тут заметили даже экономика это не обсуждение компиляторов
Поскольку этот факт "уже заметили", Ваша реплика была излишней. 😉
источник

VK

Val Krylov in Compiler Development
fldlg2
Есть известная картинка: https://i.stack.imgur.com/rivKh.jpg
На ней видно, что существуют грамматики, которые покрыты LL(1) и, тем более, LL(k), но не LALR(1). (Впрочем, обратное тоже верно).
С другой стороны, LALR(k) покрывает и LR(k), и LL(k) — этого на картинке нет (генераторы LALR(k) лично мне неизвестны, но если я правильно помню теорию, то это так.)
Так bottom-up это не только LALR(1), а вплоть до GLR с гибридными оптимизациями.
источник

f

fldlg2 in Compiler Development
Val Krylov
Так bottom-up это не только LALR(1), а вплоть до GLR с гибридными оптимизациями.
Да, я рано отправил сообщение — выше дописал. И да, есть GLR — если согласиться на backtracking.
источник

AT

Alexander Tchitchigi... in Compiler Development
cevek
а есть статейки хорошие?
Статей не знаю — я в своё время "Дизайн и Эволюцию C++" читал. Может, кто-то посоветует что-то более конкретное.
Альтернативно можно посмотреть как делают в GObject/GTK+.
источник

f

fldlg2 in Compiler Development
@val_krylov Иначе говоря, LALR(k) теоретически может всё, что могут вариации recursive descent (ценой раздувания таблиц), а GLR может всё то же самое, но потребляя память, как лучшие из PEG.
источник

f

fldlg2 in Compiler Development
@val_krylov Если удобства важнее компьютерных ресурсов, или если входной поток не слишком длинный / не слишком многозначный, то можно найти аргументы в пользу top-down. Если входной поток огромен, а промежуточное parse tree — непозволительное излишество, то LALR вне конкуренции, как мне кажется.
источник