раскрыть синтаксис C: контекстуальные сложности
дебаты о том, является ли C-контекстно-чувствительным или чувствительным к контекстам стеблям из восприятия «неоднозначности» в определенных выражениях. Однако двусмысленность является характеристикой конкретной грамматики, а не самого языка.
c грамматика выходит за рамки ограничений как без контекста, так и контекстных грамматиков. Для C требуется синтаксический анализатор, подразумевая грамматику «типа 0», наиболее мощный тип в иерархии Хомского.
В рамках грамматики типа 0 любая последовательность символов может появляться с обеих сторон правила производства, что позволяет выразить Turing-Complete. Не существуя контекстно-чувствительная грамматика, которая полностью отражает синтаксис C, усиливает его контекст-чувствительность.
Кроме того, матрица C Сама сама по себе является обеспечением, что позволяет вычислять в процессе диапазона. Это делает C не подходящим как для контекстных, так и для контекста-чувствительных классификаций.
, в то время как контекстная без контекстная грамматика для C является теоретически возможна, ее непостижимая сложность делает ее нецелесообразной. Определенность на технических английских и алгоритмических описаниях в стандарте C отражает распознавание этой синтаксической неопределенности.
Вместо формальной грамматики стандарт C обеспечивает руководство в Приложении A. Однако он явно утверждает, что это «суммирование синтаксиса C» является приближением, а не исчерпывающим определением. Правила неоднозначности, контроль доступа и правила типа необходимы для фильтрации синтаксически достоверных, но семантически недопустимых конструкций.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3