मैं एक जावा पुस्तकालय की तलाश में हूं जो मुझे जावा स्रोत फ़ाइल को पार्स करने की अनुमति देता है और यह मुझे कोड का एएसटी प्रतिनिधित्व देता है।क्या जावा भाषा के लिए जावा पार्सर है?
दरअसल मैं केवल अपनी एनोटेशन के साथ कक्षा और विधि परिभाषाओं में रूचि रखता हूं। मुझे विधि कोड के एएसटी की आवश्यकता नहीं है।
मैं कोड पीढ़ी के लिए इस जानकारी का उपयोग कर रहा हूं। यही कारण है कि मैं परिणामी वर्ग फ़ाइल से जानकारी प्राप्त करने के लिए पहले स्रोत फ़ाइल संकलित नहीं कर सकता। जब तक मैं कुछ अतिरिक्त कक्षाएं उत्पन्न नहीं करता तब तक कोड त्रुटियों के बिना संकलित नहीं होगा।
हाँ, यह अच्छा लग रहा है। क्या आप मुझे एक संकेत दे सकते हैं कि कौन सी कक्षा स्रोत फ़ाइल पढ़ने के लिए ज़िम्मेदार है? – tangens
आप एक कंपाइलर "प्लगइन" बनाते हैं जिसे आप कमांड लाइन पर javac के लिए निर्दिष्ट करते हैं। मुझे लगता है कि आपके द्वारा कार्यान्वित इंटरफ़ेस 'javax.annotation.processing.Processor' – Ramon
javax.lang.model संपूर्ण भाषा के लिए एक सार वाक्यविन्यास पेड़ होने के बजाय एनोटेशन को प्रोसेस करने के लिए आवश्यक है पर आधारित है। इसलिए इसमें संकुल, वर्ग, विधियां, फ़ील्ड, पैरामीटर और चर हैं, लेकिन अभिव्यक्ति या बयान नहीं। –