मुझे जावा में एचटीएमएल जैसी मार्कअप भाषा के एक बहुत ही सरल संस्करण के लिए जल्दी से एक पार्सर बनाने की आवश्यकता है। पायथन में, मैं ऐसा करने के लिए पाइपर्सिंग लाइब्रेरी का उपयोग करूंगा। क्या जावा के लिए कुछ समान है? कृपया, HTML पार्सिंग के लिए पहले से मौजूद पुस्तकालयों का सुझाव न दें, मेरा आवेदन एक स्कूल असाइनमेंट है जो ऑब्जेक्ट्स के पेड़ को चलने और विज़िटर पैटर्न का उपयोग करके टेक्स्ट को क्रमबद्ध करने का प्रदर्शन करेगा, इसलिए मैं यहां वास्तविक दुनिया के शब्दों में नहीं सोच रहा हूं। मूल रूप से मुझे यहां टैग, विशेषताओं और टेक्स्ट नोड्स की आवश्यकता है।जावा में पाइपर्सिंग के समान पुस्तकालय है?
उत्तर
एक और अच्छा पार्सर जेनरेटर ANTLR है , हो सकता है कि आप जो खोज रहे हैं वह हो सकता है।
जावा में स्ट्रिंगहैंडिंग के लिए बहुत सारे विकल्प हैं। शायद बहुत ही बुनियादी java.util.Scanner
और java.util.StringTokenizer
कक्षाएं आपके लिए उपयोगी हैं?
एक और अच्छी पसंद शायद the org.apache.commons.lang.text
लाइब्रेरी है। http://commons.apache.org/lang/apidocs/org/apache/commons/lang/text/package-summary.html
आपके उपयोग के लिए ओवरकिल हो सकता है, लेकिन javacc एक उत्कृष्ट औद्योगिक-शक्ति पार्सर जनरेटर है। मैंने इस कार्यक्रम/लाइब्रेरी का कई बार उपयोग किया है, इसकी भरोसेमंद और मूल्यवान सीखना, विशेष रूप से यदि आप भाषाएं और कंपाइलर्स के साथ काम करने जा रहे हैं। यहां सूचीबद्ध वेबसाइट से कार्यक्रम का विवरण यहां दिया गया है:
जावा कंपाइलर कंपाइलर [टीएम] (जावासीसी [टीएम]) जावा [टीएम] अनुप्रयोगों के उपयोग के लिए सबसे लोकप्रिय पार्सर जेनरेटर है। एक पार्सर जेनरेटर एक ऐसा उपकरण है जो व्याकरण विनिर्देश पढ़ता है और इसे जावा प्रोग्राम में परिवर्तित करता है जो व्याकरण के लिए मैचों को पहचान सकता है। पार्सर जेनरेटर खुद के अलावा, JavaCC अन्य मानक इस तरह के पेड़ के निर्माण (के माध्यम से एक उपकरण JJTree बुलाया JavaCC साथ शामिल है), कार्यों, डिबगिंग, आदि के रूप पार्सर पीढ़ी से संबंधित क्षमता प्रदान करता है
जावा में पार्सर जनरेटर के लिए त्वरित खोज JParsec उत्पन्न करती है। मैंने इसका कभी भी उपयोग नहीं किया है - लेकिन यह एक हास्केल लाइब्रेरी से प्रेरित है, इसलिए परिभाषा के अनुसार यह अच्छा होना चाहिए :-)
द्वारा पुस्तक को भी देखें, बहुत ही रोचक लग रहा है, कोड जनरेटर से प्रस्थान ... संदर्भ के लिए धन्यवाद। – PhiLho
मुझे जेपीआरसीसी पसंद है (जिसे मैंने टॉरस्टन के लिए धन्यवाद दिया है) क्योंकि यह कोड उत्पन्न नहीं करता है .. :-) शायद कम कुशल, लेकिन छोटे कार्यों के लिए पर्याप्त है।
मुझे एक समान पुस्तकालय मिला, JTopas।
Java Source पर पार्सर (जेनरेटर या नहीं) की एक अच्छी सूची है।
- 1. पाइपर्सिंग
- 2. पाइपर्सिंग
- 3. जावा में एलएसएच पुस्तकालय
- 4. जावा में WebClient.DownloadString के समान कुछ है?
- 5. पाइपर्सिंग - लोड एबीएनएफ?
- 6. पाइपर्सिंग व्याकरण
- 7. पाइपर्सिंग के बाद क्या होगा?
- 8. पाइपर्सिंग, फॉरवर्ड, और रिकर्सन
- 9. जावा पुस्तकालय?
- 10. जावा बाइट सी # बाइट के समान है?
- 11. जावा - बाइनरी कोड बाइटकोड के समान है?
- 12. जावा में sprintf के समान कोई विधि?
- 13. जावा के लिए ज्यामिति पुस्तकालय
- 14. जावा पुस्तकालय heuristics
- 15. एंड्रॉइड के लिए थ्री 20 प्रोजेक्ट के समान पुस्तकालय हैं?
- 16. जावा पैकेज बनाम सी ++ पुस्तकालय
- 17. जावा 1.5 में ServiceLoader के समान कुछ है?
- 18. जावा में सी # गुणों के समान कुछ है?
- 19. जावा प्रदर्शन समय पुस्तकालय
- 20. संख्यात्मक जावा पुस्तकालय
- 21. एंटी-एक्सएसएस जावा पुस्तकालय
- 22. जावा वर्तनी परीक्षक पुस्तकालय
- 23. जावा टेक्स्ट विश्लेषण पुस्तकालय
- 24. जावा लेखन पुस्तकालय
- 25. जावा RRD पुस्तकालय
- 26. एंड्रॉइड के समान जावा डेस्कटॉप विकास ढांचा?
- 27. जावा एसएफटीपी सर्वर पुस्तकालय?
- 28. समान पुस्तकालय के लिए डुप्लिकेट प्रतीक एक्सकोड डुप्लिकेट लाइब्रेरी?
- 29. जावा जीयूआई पुस्तकालय
- 30. जावा भाषा अनुवाद पुस्तकालय
जावासीसी अद्भुत है। टॉम कॉपलैंड (शताब्दी पुस्तकें) –