Eh bien, les expressions s sont essentiellement des «syntaxes abstraites», dans le sens où elles ne sont qu'une syntaxe concrète pour les arbres de syntaxe abstraite, et donc n'importe quel langage peut être représenté comme des expressions s et manipulé avec des commandes d'expression s. Par conséquent, syntax-ppss
parler de «Sexps» est simplement la façon Lisp de parler des arbres de syntaxe abstraite.
En pratique, cependant, syntax-ppss
ne fonctionne généralement pour aucun mode. Il est fondamentalement destiné aux langages de type Lisp, et si le langage concret d'un langage s'écarte trop de Sexps, cela n'a plus beaucoup de sens d'utiliser des commandes Sexp pour manipuler le langage. Cela fonctionnerait, mais il y aurait un trop grand écart entre la représentation abstraite et la syntaxe concrète, ce qui rendrait la plupart des commandes contre-intuitives.
Cependant, une partie de l'infrastructure sous-jacente de syntax-ppss
est assez générique. Les principaux modes s'efforcent généralement de s'y connecter, car cela les fait bien fonctionner avec de nombreuses fonctionnalités intégrées d'Emacs et fournit une interface générique pour d'autres packages tiers tels que Smartparens.
Notamment, syntax-ppss
s'appuie sur les tables de syntaxe pour les chaînes et les commentaires. Les tableaux de syntaxe classent les caractères individuels par leur classe syntaxique. Il existe des classes pour les délimiteurs appariés, les délimiteurs de chaînes et les caractères de commentaire.
La structure des chaînes et des commentaires est assez similaire dans presque tous les langages de programmation: les chaînes sont normalement enfermées dans des délimiteurs spéciaux. Les commentaires peuvent également avoir des délimiteurs spéciaux, ou commencer par un certain caractère et s'étendre jusqu'à la fin de la ligne. Ces structures peuvent être facilement capturées dans des tables de syntaxe, et presque tous les modes principaux définissent des tables de syntaxe appropriées, ne serait-ce que pour profiter de la fortification syntaxique d'Emacs.
Par conséquent, syntax-ppss
fonctionne bien pour les chaînes et les commentaires dans presque toutes les langues, mais le support et l '«utilité» des autres fonctionnalités varient.