2008-11-29 13 views
7

मुझे जावा में एचटीएमएल जैसी मार्कअप भाषा के एक बहुत ही सरल संस्करण के लिए जल्दी से एक पार्सर बनाने की आवश्यकता है। पायथन में, मैं ऐसा करने के लिए पाइपर्सिंग लाइब्रेरी का उपयोग करूंगा। क्या जावा के लिए कुछ समान है? कृपया, HTML पार्सिंग के लिए पहले से मौजूद पुस्तकालयों का सुझाव न दें, मेरा आवेदन एक स्कूल असाइनमेंट है जो ऑब्जेक्ट्स के पेड़ को चलने और विज़िटर पैटर्न का उपयोग करके टेक्स्ट को क्रमबद्ध करने का प्रदर्शन करेगा, इसलिए मैं यहां वास्तविक दुनिया के शब्दों में नहीं सोच रहा हूं। मूल रूप से मुझे यहां टैग, विशेषताओं और टेक्स्ट नोड्स की आवश्यकता है।जावा में पाइपर्सिंग के समान पुस्तकालय है?

उत्तर

7

एक और अच्छा पार्सर जेनरेटर ANTLR है , हो सकता है कि आप जो खोज रहे हैं वह हो सकता है।

1

जावा में स्ट्रिंगहैंडिंग के लिए बहुत सारे विकल्प हैं। शायद बहुत ही बुनियादी 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

3

आपके उपयोग के लिए ओवरकिल हो सकता है, लेकिन javacc एक उत्कृष्ट औद्योगिक-शक्ति पार्सर जनरेटर है। मैंने इस कार्यक्रम/लाइब्रेरी का कई बार उपयोग किया है, इसकी भरोसेमंद और मूल्यवान सीखना, विशेष रूप से यदि आप भाषाएं और कंपाइलर्स के साथ काम करने जा रहे हैं। यहां सूचीबद्ध वेबसाइट से कार्यक्रम का विवरण यहां दिया गया है:

जावा कंपाइलर कंपाइलर [टीएम] (जावासीसी [टीएम]) जावा [टीएम] अनुप्रयोगों के उपयोग के लिए सबसे लोकप्रिय पार्सर जेनरेटर है। एक पार्सर जेनरेटर एक ऐसा उपकरण है जो व्याकरण विनिर्देश पढ़ता है और इसे जावा प्रोग्राम में परिवर्तित करता है जो व्याकरण के लिए मैचों को पहचान सकता है। पार्सर जेनरेटर खुद के अलावा, JavaCC अन्य मानक इस तरह के पेड़ के निर्माण (के माध्यम से एक उपकरण JJTree बुलाया JavaCC साथ शामिल है), कार्यों, डिबगिंग, आदि के रूप पार्सर पीढ़ी से संबंधित क्षमता प्रदान करता है

+0

जावासीसी अद्भुत है। टॉम कॉपलैंड (शताब्दी पुस्तकें) –

3

जावा में पार्सर जनरेटर के लिए त्वरित खोज JParsec उत्पन्न करती है। मैंने इसका कभी भी उपयोग नहीं किया है - लेकिन यह एक हास्केल लाइब्रेरी से प्रेरित है, इसलिए परिभाषा के अनुसार यह अच्छा होना चाहिए :-)

+0

द्वारा पुस्तक को भी देखें, बहुत ही रोचक लग रहा है, कोड जनरेटर से प्रस्थान ... संदर्भ के लिए धन्यवाद। – PhiLho

2

मुझे जेपीआरसीसी पसंद है (जिसे मैंने टॉरस्टन के लिए धन्यवाद दिया है) क्योंकि यह कोड उत्पन्न नहीं करता है .. :-) शायद कम कुशल, लेकिन छोटे कार्यों के लिए पर्याप्त है।
मुझे एक समान पुस्तकालय मिला, JTopas

Java Source पर पार्सर (जेनरेटर या नहीं) की एक अच्छी सूची है।

संबंधित मुद्दे