Bem, expressões-s são essencialmente “sintaxe abstrata”, no sentido de que são apenas uma sintaxe concreta para árvores de sintaxe abstrata e, portanto, qualquer linguagem pode ser representada como expressões-s e manipulada com comandos de expressão-s. Portanto, syntax-ppss
falar em "Sexps" é simplesmente a maneira do Lisp de falar sobre árvores de sintaxe abstrata.
Praticamente, no entanto, syntax-ppss
geralmente não funciona em nenhum modo. É fundamentalmente direcionado para linguagens do tipo Lisp, e se a linguagem concreta de uma linguagem se desvia muito do Sexps, não faz muito sentido usar os comandos do Sexp para manipular a linguagem. Funcionaria, mas haveria uma lacuna muito grande entre a representação abstrata e a sintaxe concreta, o que tornaria a maioria dos comandos contra-intuitivos.
No entanto, parte da infraestrutura subjacente syntax-ppss
é bastante genérica. Os modos principais geralmente se esforçam para se conectar a ele, porque os fazem funcionar bem com muitos recursos internos do Emacs e fornecem uma interface genérica para outros pacotes de terceiros, como o Smartparens.
Notavelmente, syntax-ppss
conta com tabelas de sintaxe para seqüências de caracteres e comentários. As tabelas de sintaxe categorizam caracteres individuais por sua classe sintática. Existem classes para delimitadores emparelhados, delimitadores de cadeia e caracteres de comentário.
A estrutura de strings e comentários é bastante semelhante em quase todas as linguagens de programação: Strings são normalmente incluídas em delimitadores especiais. Os comentários também podem ter delimitadores especiais ou começar com um determinado caractere e se estender até o final da linha. Essas estruturas podem ser facilmente capturadas em tabelas de sintaxe, e quase todos os principais modos definem tabelas de sintaxe apropriadas, apenas para lucrar com a fortificação sintática do Emacs.
Portanto, syntax-ppss
funciona bem para strings e comentários em quase qualquer idioma, mas o suporte e a "utilidade" de outros recursos variam.