2011-12-15 14 views
5

मैं एएनटीएलआर उपकरण (लक्ष्यीकरण सी #) द्वारा उत्पन्न लेक्सर और पार्सर कक्षाओं का उपयोग करता हूं। मान लें कि मैंने कुछ कोड पार्स किया है और इसके लिए एएसटी पेड़ मिला है। क्या होगा यदि मेरे प्रारंभिक कोड का हिस्सा बदल गया है और मैं पेड़ के संबंधित हिस्सों को अपडेट करना चाहता हूं? क्या ऐसा करने का कोई आम तरीका है? उदाहरण के लिए कुछ फ़ंक्शन बॉडी के अंदर कोड की एक पंक्ति डाली गई थी। और मैं के पुनर्निर्माण के लिए सिर्फ पेड़ बाद कार्यों के इस समारोह और अद्यतन पदों का प्रतिनिधित्व करने के भाग के टोकनएएनटीएलआर का एएसटी पेड़ अद्यतन

+0

पेड़ बदलने के बाद, आप आगे क्या करना चाहते हैं? मुझे लगता है, स्रोत पाठ को पुन: उत्पन्न करें। टिप्पणियों के साथ? मूल लेआउट? ...? –

+0

मैं सिर्फ प्रासंगिक एएसटी पेड़ रखना चाहता हूं। मान लीजिए कि मैं कुछ आईडीई – Natalia

+0

के लिए इंटेलिजेंस का प्रबंधन करना चाहता हूं, आप कैसे जानेंगे कि आपके एएसटी के कौन से हिस्से वास्तव में बदलाव से प्रभावित हुए थे? – stryba

उत्तर

1

वहाँ बाहर कुछ परियोजनाएं हैं जो आप क्या हासिल करना चाहते हो सकता है कर रहे हैं चाहते हैं। लेकिन मुझे नहीं पता कि एएनटीएलआर इसका समर्थन करता है या नहीं। आप यहां देख सकते हैं: http://en.wikipedia.org/wiki/Incremental_compiler

सिंटैक्स हाइलाइटिंग केवल प्रस्ताव के लिए, मैं आपके वाक्यविन्यास में विभिन्न टोकन के लिए नियमित अभिव्यक्ति का उपयोग करने का सुझाव देता हूं। (यदि आप उस लाइन को अपडेट करते हैं जिस पर आप काम कर रहे हैं तो आपको कोई प्रदर्शन समस्या नहीं मिलनी चाहिए।)

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