ठीक है, एस-एक्सप्रेशंस अनिवार्य रूप से "एब्सट्रैक्ट सिंटैक्स" हैं, इस अर्थ में कि वे एब्सट्रैक्ट सिंटैक्स पेड़ों के लिए केवल एक ठोस वाक्यविन्यास हैं, और इस प्रकार किसी भी भाषा को एस-एक्सप्रेशन के रूप में दर्शाया जा सकता है, और एस-एक्सप्रेशन कमांड के साथ हेरफेर किया जा सकता है। इसलिए, syntax-ppss
"सेक्सप्स" बोलना अमूर्त सिंटैक्स पेड़ों के बारे में बात करने के लिए बस लिस्प तरीका है।
व्यावहारिक रूप से, हालांकि, syntax-ppss
आमतौर पर किसी भी मोड के लिए काम नहीं करता है। यह मूल रूप से लिस्प जैसी भाषाओं को लक्षित करता है, और अगर किसी भाषा की ठोस भाषा सेक्सप से बहुत अधिक विचलित हो जाती है, तो भाषा में हेरफेर करने के लिए सेक्सप कमांड का उपयोग करने का कोई मतलब नहीं है। यह काम करेगा, लेकिन अमूर्त प्रतिनिधित्व और कंक्रीट सिंटैक्स के बीच बहुत बड़ा अंतर होगा, जो अधिकांश आदेशों को काउंटर-सहज बना देगा।
हालांकि, कुछ अंतर्निहित बुनियादी ढाँचा syntax-ppss
काफी सामान्य है। प्रमुख मोड आम तौर पर इसे प्लग करने के लिए कड़ी मेहनत करते हैं, क्योंकि यह उन्हें कई अंतर्निहित एमएसीएस सुविधाओं के साथ अच्छी तरह से काम करता है और स्मार्टप्रेन जैसे अन्य 3 पार्टी पैकेजों के लिए एक सामान्य इंटरफ़ेस प्रदान करता है।
विशेष रूप से, स्ट्रिंग्स और टिप्पणियों के लिए सिंटैक्स टेबल्सsyntax-ppss
पर निर्भर करता है । सिंटेक्स टेबल्स अपने वर्णनात्मक वर्ग द्वारा अलग-अलग वर्णों को वर्गीकृत करते हैं। युग्मित सीमांकक, स्ट्रिंग परिसीमन और टिप्पणी पात्रों के लिए कक्षाएं हैं।
स्ट्रिंग्स और टिप्पणियों की संरचना लगभग सभी प्रोग्रामिंग भाषाओं में काफी समान है: स्ट्रिंग्स आमतौर पर विशेष सीमांकक में संलग्न हैं। टिप्पणियों में विशेष सीमांकक भी हो सकते हैं, या एक निश्चित चरित्र के साथ शुरू हो सकते हैं और लाइन के अंत तक बढ़ सकते हैं। इन संरचनाओं को आसानी से सिंटैक्स तालिकाओं में कैद किया जा सकता है, और लगभग सभी प्रमुख मोड उपयुक्त सिंटैक्स तालिकाओं को परिभाषित करते हैं, यदि केवल एमएसीएस के सिंटैक्टिक किलेबंदी से लाभ के लिए।
इसलिए, syntax-ppss
लगभग किसी भी भाषा में तार और टिप्पणियों के लिए अच्छी तरह से काम करता है, लेकिन अन्य विशेषताओं का समर्थन और "उपयोगिता" भिन्न होता है।