разборам (синтаксическому и грамматическому)
Навреное, было бы интересно по gll https://dare.uva.nl/search?sort=year;f2-typeClassification=PhD%20thesis;f3-publicationDate=2010-2019::2019;docsPerPage=1;startDoc=8 И glr https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://citeseerx.ist.psu.edu/document%3Frepid%3Drep1%26type%3Dpdf%26doi%3D2ff74ea9a0147318bc19e30c6d0f72e29a5f92c3&ved=2ahUKEwjUhvDY3uSBAxVdQ_EDHahCCMYQFnoECAwQAQ&usg=AOvVaw2GNyUxj_UHb-w8WljVUVjR Не общеобразовательная, конечно, но неплохо для старта и дальше по ссылкам.
Спасибо. Вы можете написать там или тут рецензию примерно в таком же виде как я писал или сделать PR в мою ветку master? Я не читал эти публикации, поэтому выглядеть будет примерно столь же по-дурацки, как и Practical guide.
А почему бы не заменить почти весь этот FAQ ссылкой на "Parsing Techniques: A Practical Guide" by Dick Grune and Ceriel J.H. Jacobs, Second Edition (там разбираются все темы, упоминаемые в нём, и есть ссылки на хорошую литературу... да вообще по всем вопросам parsing theory and practice, по крайней мере на момент его выхода)? А список parser generators (с невнятными, извините, описаниями) — на https://en.wikipedia.org/wiki/Comparison_of_parser_generators ? Ну, как вариант? ;)
Потому, что в реальном мире такое воспринимают как посыл на 3 буквы, когда вместо одной фразы человека отсылают читать талмуд
Т.е. лучше написать FAQ с неправильными (или неточными) ответами, чем дать ссылку на хороший источник? ;( Можно из него "содрать" ответы на те вопросы, которые Вас интересуют, например...
Ярослав, вы занимаетесь сейчас простой манипуляцией, выдавая два частных варианта за весь спектр. Правильный выход - это писать сжатое изложение, консультируясь с экспертами. Что мы и делаем сейчас. Спасибо за критику. Выдавать людям ссылку на хорошую, но большую книгу - это посылать их на три буквы. Формально да, по-факту - издевательство.
> Ярослав, вы занимаетесь сейчас простой манипуляцией, выдавая два частных варианта за весь спектр. Нда. По-моему, Вы спешите с выводами. Опять-таки, чем Вам не нравится предложение открыть эту книгу при создании Вашего FAQ, и "списать" оттуда ответы на интересующие Вас вопросы? > Правильный выход - это писать сжатое изложение, консультируясь с экспертами. Я опасаюсь того, что из этого получится энциклопедия заблуждений "компиляторщиков" про parsing, только и всего. ;( Кроме шуток — я правильно понимаю, что на практике почти все они пользуются recursive descent, и даже "фундаментальные" вопросы parsing theory — это, практически, "мимо" (т.е. почти никого не интересуют и в самом деле не важны для большинства практиков).
Я живу с манипуляторами (двумя), поэтому это чисто рефлекторно. > Я опасаюсь того, что из этого получится энциклопедия заблуждений "компиляторщиков" про parsing, только и всего. ;( Ваш долг перед человечеством не допустить этого. Поэтому спасибо за критику. > Кроме шуток — я правильно понимаю, что на практике почти все они пользуются recursive descent Почти все они вообще не занимаются вопросом разбора, поскольку "он решён". В каком смысле - вот я беру OCamllex/Menhir, пишу грамматику даже не задумываясь про LR(что-то там), если получился конфликт, исправляю его более-менее не приходя в сознание. После того, как грамматики лексера/парсера написаны, идёт настоящая деятельность.
> Ваш долг перед человечеством не допустить этого. И кто тут после этого манипулятор? ;) > Почти все они вообще не занимаются вопросом разбора, поскольку "он решён". К сожалению, да. Это направление исследований в какой-то момент... просто высохло, как Аральское море, и почти все [включая выдающихся специалистов] разбежались кто куда, в том числе и прочь из CS (кто в молекулярную биологию, а кто даже в психотерапию или куда похуже). :( > После того, как грамматики лексера/парсера написаны, идёт настоящая деятельность. Да, я именно так это себе и представлял, спасибо!
Я тоже манипулятор. Не отрицаю. Но в данном случае именно я пишу совершенно неинтересный мне раздел, т.к. те самые заблуждения меня вполне устраивали. > Опять-таки, чем Вам не нравится предложение открыть эту книгу при создании Вашего FAQ, и "списать" оттуда ответы на интересующие Вас вопросы? Потому, что единственный вопрос, который я задавал "есть ли косяки в моём описании?". Этот вопрос ни в какой книге не раскрывается. Даже в Коране.
Направление во многом состоит из решённых проблем в перемешку с нерешаемыми, так что высыхание не слишком удивительно.
> Но в данном случае именно я пишу совершенно неинтересный мне раздел Казалось бы, зачем его тогда писать? > Потому, что единственный вопрос, который я задавал "есть ли косяки в моём описании?" Хмм... тогда краткое описание того, что собой представляет "Parsing techniques...", далеко не отражает того, чем она является; но совет её читать тем, кого интересует именно parsing — очень хороший, в любом случае (безусловно, в ней есть недостатки, но лучше на эту тему ничего нет). Материал по incremental parsing там есть (см. оглавление и особенно "Annotated Bibliography" на сайте книги), кстати. Про остальное я уже написал, кажется... или забыл что-то?
> Казалось бы, зачем его тогда писать? Из альтруистических соображений. С моей точки зрения выдавать талмуд для ответа на этот вопрос излишне. Сейчас вопрос меня заинтересовал, но только после того, как я выяснил, что не до конца понимаю его. > Хмм... тогда краткое описание того, что собой представляет "Parsing techniques..." Вы можете написать рецензию? Либо напрямую PR в wiki, либо коммент сюда, либо коммент к моему PR. Нужно раскрыть достоинства, рассказать, какие недостатки вы видите (как эксперт). > Материал по incremental parsing там есть (см. оглавление и особенно "Annotated Bibliography" на сайте книги), кстати. Это, хочу отметить, опять посыл экспертом неофита на 3 буквы.
Кхе-кхе: ————— When the first edition went to press in 1990, there was only one tentative and fairly restrictive algorithm for linear-time substring parsing. Now there are several powerful ones, covering all deterministic languages; we describe them in Chapter 12. In 1990 Theorem 8.1 from a 1961 paper by Bar Hillel, Perles, and Shamir lay gathering dust; in the last decade it has been used to create new algorithms, and to obtain insight into existing ones. We report on this in Chapter 13. More and more non-Chomsky systems are used, especially in linguistics. None except two-level grammars had any prominence 20 years ago; we now describe six of them in Chapter 15. Non-canonical parsers were considered oddities for a very long time; now they are among the most powerful linear-time parsers we have; see Chapter 10. Although still not very practical, marvelous algorithms for parallel parsing have been designed that shed new light on the principles; see Chapter 14. In 1990 a generalized LL parser was deemed impossible; now we describe two in Chapter 11. Traditionally, and unsurprisingly, parsers have been used for parsing; more recently they are also being used for code generation, data compression and logic language implementation, as shown in Section 17.5. Enough. The reader can find more developments in many places in the book and in the Annotated Bibliography in Chapter 18. ————— И много чего можно добавить к перечисленному, в самом деле (я удержусь от соблазна). Т.е. то, что Вы сейчас изрекли — распространённое заблуждение, но на нём-то и стоит непопулярность данного направления. Печально, но факт.
Это было в 90-х. А потом?
> Вы можете написать рецензию? Не сходу, это точно (там очень много материала, на самом деле). :( Дело в том, что эта книга — не только 662 печатных страницы — она "продолжается" её сайтом, и вот там есть краткий разбор (аннотации, не abstracts!) к куче источников по всевозможным темам. > какие недостатки вы видите (как эксперт). А я-то и не эксперт, а "любитель". Может, @grammarware попробуете привлечь к этому делу? ;) ————— > Это, хочу отметить, опять посыл экспертом неофита на 3 буквы. Нет, подождите. Вопрос-то был: > Что почитать по инкрементальному разбору Почему это не подходит (с указанием пункта в оглавлении и ссылки на annotated bibliography либо перенесения ссылок на источники оттуда прямо в FAQ)?!
Нет, это было не только в 90-х. Более того, к девяностым parsing давно уже считался "solved problem", нет? И много чего было потом — я по годам как-то не старался записывать (историк из меня неважный, прямо скажем). Но можно же взять ту же https://dickgrune.com/Books/PTAPG_2nd_Edition/CompleteList.pdf и просто по-grep-ать, для начала.
Я не академик, так что на всё это смотрю со стороны. Не знаю, что люди думали в 90-х, но пейперов в те годы было много.
Закинул как комментарий в ревью.
Спасибо, вставлю с упоминанием ника на GH
1. Замечание от Александра. 2. Вы можете эти диссертации залить на LibGen, раз уж они так ценны?
Обсуждают сегодня