Konstantin Lvov - Вопрос в пространство (парсинг LL vs LR) [entries|archive|friends|userinfo]
Konstantin Lvov

[ website | Почти Напрасный Труд ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Вопрос в пространство (парсинг LL vs LR) [Aug. 31st, 2011|08:02 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
Вопрос в пространство (программерское) - никогда раньше не задумывался, а тут немного столкнулся на практике: парсинг LR или LL? Какой лучше использовать в новых проектах? На stackoverflow говорят, что вопрос, в принципе, холиварный:

Parsing ought to be easier - в защиту LL

Why I prefer LALR parsers - соответственно, в защиту LR

У меня в этом почти никакого опыта нет, хотелось бы послушать мнения тех, у кого такой опыт есть.
LinkLeave a comment

Comments:
[User Picture]
From:[info]kouzdra
Date:September 1st, 2011 - 12:12 pm
(Link)
LR пошире, зато LL-парсер можно писать вручную - рекурсивным спуском, а там хакать если надо намного проще. Вопрос в общем - YACC или рекурсивный спуск.

Я лично предпочитаю спуск - именно за гибкость, ну и потому что навыки отработаны, но любителей YACC тоже много.
[User Picture]
From:[info]kouzdra
Date:September 1st, 2011 - 12:13 pm
(Link)
PS: У рекспуска есть другой дефект - если проект большой легко превратить текст в несопровождаемое говно, а YACC более или менее от этого удерживает.
[User Picture]
From:[info]nikto
Date:September 1st, 2011 - 05:42 pm
(Link)
Вот, спасибо, примерно такую сравнительную оценку я и хотел услышать. Для наших целей остановимся, пожалуй, на LL - там парсинг - это все, что нам пока надо, а компилятор конструировать надобности нет.