Полезно ли использовать алгоритм синтаксического анализа диаграммы CKY для синтаксиса языков программирования (зная, что он в основном используется для синтаксического анализа синтаксиса естественного языка)?CKY для языков программирования Parsing
ответ
CKY может анализировать любой контекст свободного языка, но сложность времени невелика по сравнению с альтернативами. CKY требует, чтобы грамматика находилась в нормальной форме Хомского, которая может взорвать размер грамматики и повредить время работы. Это хороший подход к быстрому и грязному парсеру, но вы столкнетесь с проблемами при попытке масштабирования до более крупных входов или сложных грамматик.
Если вы ищете понятный алгоритм синтаксического анализа, который достаточно прост для реализации, взгляните на грамматические выражения грамматики (PEG). Они могут распознавать большое подмножество контекстно-свободных языков, а также некоторые языки с ограниченной чувствительностью к контексту. После того, как у вас есть рабочий анализатор PEG, легко добавить memoization, который дает вам Packrat Parser, который работает в линейном времени. Научные статьи по PEGs, Packrat и this extension, чтобы левые рекурсивные грамматики были вполне понятны.
- 1. профайлеры для языков программирования
- 2. Источник парсеров для языков программирования?
- 3. Примеры кода для языков программирования
- 4. Значок Шрифты для языков программирования
- 5. Несколько языков программирования
- 6. Интроспекция языков функционального программирования
- 7. Изучение языков программирования
- 8. Категорирование языков программирования
- 9. история языков программирования?
- 10. Реализация языков программирования на языке программирования
- 11. Список языков программирования для мобильных устройств
- 12. Подсказки для декларирующих языков программирования grokking?
- 13. Как написать псевдокод для языков функционального программирования?
- 14. Офлайновая документация для различных языков программирования?
- 15. Библиотека безглавых браузеров для этих языков программирования
- 16. сложность времени для большинства языков программирования?
- 17. Оценка потока выполнения для языков визуального программирования
- 18. Использование NetBeans для нескольких языков программирования
- 19. gVim и несколько языков программирования
- 20. Изучает много разных языков программирования?
- 21. Как работает объединение языков программирования?
- 22. «Железная» версия общих языков программирования
- 23. Почему так много языков программирования?
- 24. Действительно ли CKY требует CNF?
- 25. помогает начать с языков программирования звука
- 26. Использование языков программирования поверх разных ОС
- 27. Сколько языков программирования вы используете одновременно?
- 28. Безопасность с помощью различных языков программирования
- 29. Что такое список курсовых языков программирования?
- 30. Список языков программирования, которые могут взаимодействовать вместе