음, s- 표현식은 본질적으로 추상 구문 트리에 대한 구체적인 구문이라는 의미에서 "추상적 인 구문"이므로 모든 언어를 s- 표현식으로 표현하고 s- 표현식 명령으로 조작 할 수 있습니다. 따라서 syntax-ppss
"Sexps"라고 말하는 것은 추상 구문 트리에 대해 말하는 Lisp 방식입니다.
그러나 실제로 syntax-ppss
는 어떤 모드에서도 일반적으로 작동하지 않습니다. 기본적으로 Lisp와 유사한 언어를 대상으로하며 언어의 구체적인 언어가 Sexps에서 너무 많이 벗어나면 더 이상 Sexp 명령을 사용하여 언어를 조작하는 것이 의미가 없습니다. 그것은 효과가 있지만 추상 표현과 구체적인 구문 사이에는 너무 큰 차이가있어 대부분의 명령을 반 직관적으로 만듭니다.
그러나 기본 인프라 중 일부 syntax-ppss
는 상당히 일반적입니다. 주요 모드는 많은 내장 Emacs 기능과 잘 작동하고 Smartparens와 같은 다른 타사 패키지에 대한 일반 인터페이스를 제공하기 때문에 일반적으로 연결하려고 시도합니다.
특히, syntax-ppss
에 의존 구문 테이블 문자열 및 의견. 구문 테이블은 구문 클래스별로 개별 문자를 분류합니다. 쌍 구분 기호, 문자열 구분 기호 및 주석 문자에 대한 클래스가 있습니다.
문자열과 주석의 구조는 거의 모든 프로그래밍 언어에서 상당히 유사합니다. 문자열은 일반적으로 특수 구분 기호로 묶습니다. 주석에는 특수 구분 기호가 있거나 특정 문자로 시작하여 줄 끝까지 확장 될 수 있습니다. 이러한 구조는 구문 테이블에서 쉽게 캡처 할 수 있으며, 거의 모든 주요 모드는 Emacs의 구문 강화로 이익을 얻는 경우에만 적절한 구문 테이블을 정의합니다.
따라서 syntax-ppss
거의 모든 언어로 문자열과 주석에 적합하지만 다른 기능의 지원과 "유용성"은 다양합니다.