Здравствуйте!
Можно ли совместить LL(1)/LL(2) парсеры и parser combinators?
Или это невозможно?
Насколько я понимаю, допустим, LL(2) парсер имеет lookahead = 2, т.е. он может смотреть на 2 токена вперед (кстати, что есть токен в данном случае - один символ или именно целый токен?).
Это сильно ограничивает backtracking (нельзя, например, прочитать 10 токенов, подумать, а потом откатиться назад).
А без backtracking'а по сути не будут работать многие parser combinators, да? Например, комбинатор `and`: допустим, он распарсил успешно 5 токенов, а на 6м зафейлил, следовательно, вся цепочка должна зафейлиться, но откатить 5 токенов мы уже не можем.
Или parser combinators являются LL(infinity) парсерами?
Можно ли сделать parser combinators поверх потоков (streams)?
Ответ на:
комментарий
от staseg
Ответ на:
комментарий
от staseg
Ответ на:
комментарий
от kovrik
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум LL Parser Generator for C/C++ (2008)
- Форум gcc LL (2021)
- Форум Disciples ll (2004)
- Форум Parser (2010)
- Форум parser (2006)
- Форум Parser жив? (2020)
- Форум LALR, LL, LR (2012)
- Форум parser html (2011)
- Форум JAXB Parser (2013)
- Форум Parser crashed (2008)