Size: a a a

Compiler Development

2020 November 25

AG

Alex Gryzlov in Compiler Development
а зачем вам в общем-то пулл-реквесты в вики
источник

IK

Ivan Kochurkin in Compiler Development
Чтобы опечатки и ошибки могли фиксить кто-угодно, а не только админы
источник

YS

Yaroslav Schekin in Compiler Development
Ivan Kochurkin
Случайная альтернатива - это похоже на издевательство, для эзотерических языков покатит 😊 Правильно генерировать ошибку, если есть неочевидность и переписывать код, чтобы ее избежать.
А откуда Вы узнаете? Грамматики-то у Вас нет, и формальных средств поиска неоднозначностей — тоже.
Т.е., если это случится в процессе развития парсера, остаётся уповать только на тесты и bug reports.
источник

YS

Yaroslav Schekin in Compiler Development
Ivan Kochurkin
Даже у HTML - контекстно-зависимая, если количество тегов не ограничено. Поскольку id закрывающего тега должен быть равен id открывающему. Да и во многих современных языках не обойтись без вставок кода в КС грамматику, чтобы все правильно парсилось (интерполяция строк, heredoc в php, lexer hack как уже писали).
А вот пишут, что lexer — это "скучно". А всё подобное обычно тащат именно туда, если используются parser generators. ;)
источник

IK

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

YS

Yaroslav Schekin in Compiler Development
Ivan Kochurkin
Ну тогда уж не случайная, а первая - все-таки поведение должно быть детерминированным.
Это уж как напишете. Посыл в том, что recursive descent — это просто код, откуда и последствия.
источник

AG

Alex Gryzlov in Compiler Development
Ivan Kochurkin
Чтобы опечатки и ошибки могли фиксить кто-угодно, а не только админы
для этого есть механизм патрулей
источник

VK

Vladimir Kazanov in Compiler Development
Ivan Kochurkin
А зачем собственный, почему существующие не устроили, используется этот генератор еще где-нибудь кроме Питона?
Там довольно все неплохо сделано было для своего времени, надо признать, чистенько так. Популярный тогда Yacc сильно хуже.

Ну и yacc это lalr, а европейцы всегда предпочитали нисходящий разбор. В случае питона это ll(1)
источник
2020 November 26

А

Алексей ayaye :)... in Compiler Development
Alex Gryzlov
интересно можно ли сделать условного убийцу телеграма с такой встроенной фичей
к телеграму есть претензии и поперьезнее
источник

AT

Alexander Tchitchigi... in Compiler Development
Как в одном пункте списка оказались и Тьюринг-полные грамматики, и Forth, Tcl, Lisp? 😊
источник

M

MrSmith in Compiler Development
*rustc, luajit?
https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%BF%D1%83%D1%81%D0%BA%D0%B0
Много воды в первом абзаце. В википедии короче и понятней, можно привести пример простой грамматики.
"С точки зрения многих теоретиков синтаксического анализа времена рекурсивного спуска давно прошли" нужны ссылки и авторитетные источники иначе выглядит как попытка выдать свое мнение за мнение "многих теоретиков"

Приведение списка "современных" компиляторов не является убедительным комметарием за использование, хотя довольно спорный вопрос насколько современнен GCC.
1. Спорно, я бы сказал исключительно малоправдоподобно
2. Спорно, нужны ссылки на авторитетные источники
3. Спорно
4. Спорно
5. Спорно
7. Спорно

Последний абзац избыточно литературен
источник

RE

Roman Elizarov in Compiler Development
JFYI, и javac и Kotlin используют написанный «руками» рекурсивный спуск.
источник

AT

Alexander Tchitchigi... in Compiler Development
MrSmith
*rustc, luajit?
https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%BF%D1%83%D1%81%D0%BA%D0%B0
Много воды в первом абзаце. В википедии короче и понятней, можно привести пример простой грамматики.
"С точки зрения многих теоретиков синтаксического анализа времена рекурсивного спуска давно прошли" нужны ссылки и авторитетные источники иначе выглядит как попытка выдать свое мнение за мнение "многих теоретиков"

Приведение списка "современных" компиляторов не является убедительным комметарием за использование, хотя довольно спорный вопрос насколько современнен GCC.
1. Спорно, я бы сказал исключительно малоправдоподобно
2. Спорно, нужны ссылки на авторитетные источники
3. Спорно
4. Спорно
5. Спорно
7. Спорно

Последний абзац избыточно литературен
> Последний абзац избыточно литературен

Для кого избыточно? Для Вас? Ну так не читайте!

Пишете так, как будто указываете с недосягаемой высоты какого-то безграничного авторитета и глубочайшей мудрости, а потом ещё обижаетесь, когда Вам резко отвечают. Если не умеете общаться вежливо и уважительно, так не нойте.
источник

M

MrSmith in Compiler Development
Alexander Tchitchigin
> Последний абзац избыточно литературен

Для кого избыточно? Для Вас? Ну так не читайте!

Пишете так, как будто указываете с недосягаемой высоты какого-то безграничного авторитета и глубочайшей мудрости, а потом ещё обижаетесь, когда Вам резко отвечают. Если не умеете общаться вежливо и уважительно, так не нойте.
Человек попросил отзыв я дал, для меня конкретно избыточно литературен. Рассчитать я не могу, да и странная реакция, зачем просить отзыв если потом обижаться?
источник

M

MrSmith in Compiler Development
Помойму это вы хамите, я оценивал конкретную статью, а не авторов и их мнения
источник

AT

Alexander Tchitchigi... in Compiler Development
MrSmith
Человек попросил отзыв я дал, для меня конкретно избыточно литературен. Рассчитать я не могу, да и странная реакция, зачем просить отзыв если потом обижаться?
Отзыв, тем более лично Ваш, никто не просил. Написано "можно критиковать". А можно молча пройти мимо.

То, что Вы написали -- не отзыв и не критика. А какие-то указания как делать "правильно", которых никто не просил.
источник

AT

Alexander Tchitchigi... in Compiler Development
Если хотите не просто "выступать в чатиках", а писать содержательную и конструктивную критику, полезную для читающих -- почитайте правила деловой и академической переписки и намотайте на ус.
источник

M

MrSmith in Compiler Development
https://ru.m.wikipedia.org/wiki/%D0%9B%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0
У вас переход на личность вместо аргументов к опоненту, у автора статьи опеляция к большинству. Хорошо почитаю
источник

YS

Yaroslav Schekin in Compiler Development
Alexander Tchitchigin
Как в одном пункте списка оказались и Тьюринг-полные грамматики, и Forth, Tcl, Lisp? 😊
Я просто процитирую (с сокращениями) ответ на подобные вопросы с Tcler's Wiki:

For years, newcomers to Tcl have asked for its "BNF grammar". comp.lang.tcl then typically hosts a more-or-less unproductive confrontation between Tcl'ers rightly asserting that the questioner doesn't really want a BNF for Tcl, and the "outsider" rightly claiming that, yes, that's exactly what he has in mind.

It's traditional to describe many languages (ALGOL-derived ones, broadly), including C, Java, and Perl with their BNF. Languages such as Forth, Lisp, and Tcl, though, have degenerate syntaxes, designed to give just enough power to implement extensibility. All the functionality in these languages derives from the application of library elements, not syntactic expression. It's moreover typical of the latter that their apparent semantics are mutable at run-time; Lisp, Forth, and Tcl programmers can freely redefine if or while.

Подчёркнутое, наверное, совпадение? ;)
источник

AT

Alexander Tchitchigi... in Compiler Development
Ась? Где это я что-то написал про Вашу личность? Я отозвался на то, что Вы написали, а про личностные качества автора я не в курсе.
источник