में अच्छा सीएसएस व्याकरण एंटरल 4 के लिए वहां कोई अच्छा सीएसएस व्याकरण है? मुझे पता है कि antlr3 के लिए कुछ व्याकरण हैं, लेकिन यह पता चला है कि सीएसएस "लेक्सर मोड" के बिना पार्स करने के लिए तुच्छ नहीं है, जो v4 में जोड़े गए थे। क्यूं कर?Antlr v4
.hello.world { /* ... */ }
.hello .world { /* ... */ }
सबसे व्याकरण में, खाली स्थान के बस नजरअंदाज कर दिया है:
निम्नलिखित CSS चयनकर्ताओं पर विचार करें। लेकिन यदि आप व्हाइटस्पेस को अनदेखा करते हैं, तो पार्सर स्तर पर उपरोक्त दो चयनकर्ताओं के बीच अंतर करना असंभव हो जाता है।
फिर फिर, यदि आप व्हाइटस्पेस को अनदेखा नहीं करते हैं, तो व्याकरण डब्ल्यूएस के साथ बहुत शोर हो जाता है? या हर जगह डब्ल्यूएस * पैटर्न, चूंकि व्हाइटस्पेस अधिकतर अर्थहीन है जब तक कि यह किसी चयनकर्ता के भीतर न हो।
है कौन कहाँ से मोड antlr4 में आते हैं क्योंकि समर्थन lexer मोड के लिए आप lexer जब भी आप विभिन्न संदर्भों में प्रवेश (अर्थात "चयनकर्ता" संदर्भ में खाली स्थान के नजरअंदाज नहीं करते हैं) के लिए नए नियमों को परिभाषित कर सकते हैं के साथ,।
कहा कि, मैं साथ ही इतने लंबे समय के रूप में यह व्हाइटस्पेस ठीक से हैंडल, के रूप में उस संस्करण हम अब वैसे भी ;-)
हम केवल एक उत्कृष्ट ओपन सोर्स सीएसएस पार्सर लाइब्रेरी, फ्लोक-सीएसएस का उपयोग कर समाप्त हो गए। नवीनतम सीएसएस विनिर्देश के लिए महान समर्थन, और बहुत सक्रिय रूप से विकसित। – gzak
शायद सहायक http://www.antlr2.org/article/whitespace/ (यानी बस इसे सबकुछ की तरह टोकनइज़ करें, चार के बाद से चारवेंबुलरी की आवश्यकता नहीं है) –