C 구문 공개: 상황적 복잡성
C가 상황에 무관한지 상황에 민감한지에 대한 논쟁은 다음과 같은 인식에서 비롯됩니다. 특정 표현의 "모호함". 그러나 모호함은 언어 자체가 아닌 특정 문법의 특성입니다.
C 문법은 문맥 자유 문법과 문맥 인식 문법 모두의 한계를 넘어섭니다. C에는 Turing-complete 파서가 필요합니다. 이는 Chomsky 계층 구조에서 가장 강력한 유형인 "Type-0" 문법을 암시합니다.
Type-0 문법 내에서는 모든 기호 시퀀스가 C의 양쪽에 나타날 수 있습니다. 튜링 완전 표현을 허용하는 생성 규칙. C 구문을 완전히 캡처하는 상황에 맞는 문법이 없기 때문에 상황에 따른 민감도가 강화됩니다.
또한 C 템플릿 인스턴스화는 그 자체로 Turing-complete이므로 구문 분석 프로세스 내에서 계산이 가능합니다. 이로 인해 C는 문맥에 구애받지 않고 문맥에 따라 분류할 수 없습니다.
C에 대해 문맥에 구애받지 않거나 문맥에 따른 문법은 이론적으로 가능하지만 이해할 수 없을 정도로 복잡하여 실용적이지 않습니다. C 표준의 기술 영어 및 알고리즘 설명에 대한 의존은 이러한 구문 불확정성에 대한 인식을 반영합니다.
공식 문법 대신 C 표준은 부록 A에 지침을 제공합니다. 그러나 이 "요약" C 구문"은 완전한 정의가 아닌 근사치입니다. 구문적으로는 유효하지만 의미적으로는 유효하지 않은 구문을 필터링하려면 명확성 규칙, 액세스 제어 및 유형 규칙이 필수적입니다.
본질적으로 C 구문은 상황에 맞는 경계와 상황에 맞는 경계를 모두 초월하여 Turing-complete 복잡성을 구현합니다. 더욱 풍부한 문법 체계가 필요합니다.
위 내용은 C 구문은 정말로 문맥에 구애받지 않는가, 상황에 민감한가, 아니면 더 강력한 것인가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!