Каждая грамматика LR (0) является SLR (1), но, наоборот, необязательно быть правдой, почему?Каждая грамматика LR (0) является SLR (1), но, наоборот, необязательно быть правдой, почему?
ответ
В принципе, грамматика SLR (1) может разрешать конфликты сдвига, которые существуют в соответствующей грамматике LR (0). Возьмите пример грамматики на SLR parser странице Википедии (что объясняет это на более низком, более строгом уровне):
- S → E
- E → 1 E
- E → 1
Когда парсер LR (0) анализирует E, а «1» является следующим входным символом, он может распознать E и уменьшить (правило 3) или он может сдвинуться для анализа следующего E (правило 2) , Поскольку он не может смотреть в будущее, LR (0) не может определить, что делать. Это становится все более очевидным, если мы посмотрим на items ЛР (0) может быть обработка, когда он сталкивается с «1» (символ конца из-строки было добавлено):
- E → 1 • E $
- E → 1 • $
Первый потребует сдвига, то вторая требует уменьшения.
С помощью вышеуказанной грамматики грамматика SLR (1) может смотреть вперед один символ и определять, какое действие нужно предпринять. E может следовать только $, поэтому действие уменьшения действительно только в конце строки. Это соответствует второму пункту, где вы можете увидеть следующий символ - «$».
Для другой пример грамматики, которая является зеркальной (1), а не LR (0), см. Fegaras 'notes for CSE 5317/4305 в Техасском университете.
- 1. Является ли каждая грамматика LL (1) грамматикой LR (0)?
- 2. Как это грамматика LR (1), но не SLR (1)?
- 3. Является ли это Грамматика SLR (1)?
- 4. Является ли каждая грамматика LL (1) также LR (1)?
- 5. Как определить, является ли грамматика LL (1), LR (0) или SLR (1)?
- 6. Грамматика, которая является LR (1), но не LL (1)
- 7. Является ли эта грамматика не LR (1)?
- 8. Является ли эта грамматика LR (1)?
- 9. Необходимый пример грамматики LR (1), которая не является LR (0)?
- 10. Почему эта грамматика LR (1) не LALR (1)?
- 11. Понимать, является ли грамматика LR (1) без таблицы разбора
- 12. SLR (1) и LALR (1) и уменьшить
- 13. Может ли грамматика SLR иметь пустое производство?
- 14. В чем разница между анализаторами LR, SLR и LALR?
- 15. Грамматика А некоторые вызовы о SLR, LALR
- 16. Анализ котировок с использованием парсера SLR/LR/LALR
- 17. LR (л) LR (1) преобразование грамматики
- 18. Как определить, является ли грамматика LR (п), LL (п)
- 19. Расширение Грамматика для LR Parser
- 20. SLR (1) парсер с эпсилон
- 21. Является ли контекстно-свободная грамматика, которая может быть преобразована в таблицу разбора LR однозначной?
- 22. Взаимосвязь между LR (0), LL (0), LALR (1) и т. Д.?
- 23. Существует ли грамматика LR (k) без эквивалента LL (1)
- 24. Анализ: грамматика в LL (3), но не в LR (2)
- 25. Почему 0 === -0 истинно, но 1/0 === 1/-0 ложно?
- 26. LR (1) грамматика: как рассказать? примеры для/против?
- 27. Не уверен, если это LR (1) грамматика имеет сдвиг/свертка конфликт
- 28. Почему C++ не анализируется парсером LR (1)?
- 29. Почему 1/inf == 0, но 1/0! = Inf?
- 30. Не является парсером LR (0) с использованием lookaheads?