Ekspresi s pada dasarnya adalah "sintaksis abstrak", dalam arti bahwa itu hanyalah sintaksis konkret untuk pohon sintaksis abstrak, dan dengan demikian bahasa apa pun dapat direpresentasikan sebagai ekspresi-s, dan dimanipulasi dengan perintah ekspresi-s. Oleh karena itu, syntax-ppss
berbicara tentang "Sexps" hanyalah cara Lisp untuk berbicara tentang pohon sintaksis abstrak.
Namun, secara praktis, syntax-ppss
umumnya tidak berfungsi untuk mode apa pun. Ini secara fundamental ditargetkan pada bahasa seperti Lisp, dan jika bahasa konkret dari suatu bahasa menyimpang dari Sexps terlalu banyak, tidak masuk akal lagi untuk menggunakan perintah Sexp untuk memanipulasi bahasa. Ini akan berhasil, tetapi akan ada kesenjangan yang terlalu besar antara representasi abstrak dan sintaksis konkret, yang akan membuat sebagian besar perintah kontra-intuitif.
Namun, beberapa infrastruktur yang mendasarinya syntax-ppss
cukup generik. Mode utama biasanya berusaha keras untuk menyambungkannya, karena membuatnya bekerja dengan baik dengan banyak fitur bawaan Emacs dan menyediakan antarmuka generik untuk paket pihak ketiga lainnya seperti Smartparens.
Khususnya, syntax-ppss
bergantung pada Tabel Sintaks untuk string dan komentar. Tabel Sintaks mengategorikan karakter individu berdasarkan kelas sintaksisnya. Ada kelas untuk pembatas berpasangan, pembatas string dan karakter komentar.
Struktur string dan komentar hampir sama di hampir semua bahasa pemrograman: String biasanya terlampir dalam pembatas khusus. Komentar dapat memiliki pembatas khusus juga, atau mulai dengan karakter tertentu dan meluas hingga akhir baris. Struktur ini dapat dengan mudah ditangkap dalam tabel sintaksis, dan hampir semua mode utama menentukan tabel sintaksis yang sesuai, jika hanya untuk mendapat untung dari fortifikasi sintaksis Emacs.
Oleh karena itu, syntax-ppss
berfungsi dengan baik untuk string dan komentar dalam hampir semua bahasa, tetapi dukungan dan "kegunaan" dari fitur lain bervariasi.