2011-11-24 10 views
5

क्या एएसटी को जावास्क्रिप्ट में बजाय कॉफीस्क्रिप्ट में बदलना संभव है? एक परियोजना जो मैं काम कर रहा हूं मूल रूप से सभी कॉफीस्क्रिप्ट को एएसटी में बदलना, एएसटी का विश्लेषण करना, फिर एएसटी के हिस्से को कॉफीस्क्रिप्ट में बदलना आवश्यक है। मैं समझता हूं कि मूल कोड के संबंध में परिवर्तन वापस 'हानिकारक' होगा, लेकिन यह ठीक है।मैं कॉफीस्क्रिप्ट एएसटी को जावास्क्रिप्ट के बजाय कॉफीस्क्रिप्ट में कैसे संकलित कर सकता हूं?

मैं वास्तव में उन हिस्सों को जावास्क्रिप्ट में संकलित करने और फिर कॉफीस्क्रिप्ट पर संकलित करने से बचना चाहता हूं।

उत्तर

4

round_trip.coffee देखें।

+0

यह आशाजनक लग रहा है! मैं यहां अपने सिर पर थोड़ा सा हूं ... कैसे (ब्राउज़र वातावरण में) मैं एएसटी के हिस्से को इनपुट करने में सक्षम हूं और कॉफ़ीस्क्रिप्ट कोड वापस प्राप्त कर सकता हूं? क्या यह भी संभव है? धन्यवाद! – gkz

3

यह संभव है, लेकिन यह Coffeescript के स्रोत कोड के साथ खेलने के लिए की आवश्यकता है। कॉफ़ीस्क्रिप्ट को टोकननाइज़ेशन करने के तरीके से परिचित होने की आवश्यकता है, फिर यह एएसटी में टोकन कैसे बदलता है। सवाल में स्रोत कोड coffee-script/src गीथब पर है।

आप फ़ाइल coffee-script/src/nodes.coffee में देखो, तो आप नोड उपवर्गों का एक समूह, अपने स्वयं के संकलन कार्यों के साथ प्रत्येक (जैसे compile(), compileNode(), आदि) दिखाई देगी। ये परिभाषित करते हैं कि कैसे पेड़ जावास्क्रिप्ट कोड में बदल जाता है। यदि आप इसके बजाय कॉफ़ीस्क्रिप्ट कोड जेनरेट करना चाहते हैं, तो आपको परियोजना के अपने फोर्क पर, उन सभी को ओवरराइड करना होगा।

मैं हर मामले को कवर नहीं है, लेकिन यह एक शुरुआत है: CoffeeCoffee परियोजना (मैं लेखक हूँ) में

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