के लिए एक सामान्य "बैकएंड" लाइब्रेरी है, मैं वर्तमान में जावा में लागू एक विशेष, व्याख्या, प्रोग्रामिंग भाषा के साथ काम कर रहा हूं। भाषा के बहुत छोटे हिस्से के रूप में, मैं जावा में कॉल करने की क्षमता जोड़ना चाहता हूं। प्रतिबिंब के सभी नट-किरकिरा में कूदने से पहले, मैं सोच रहा था कि क्या किसी को जावा कोड को प्रतिबिंबित करने के "बैकएंड" हिस्से को करने के लिए सामान्य पुस्तकालय के बारे में पता था।क्या जावा प्रतिबिंब
यही है, मैं एक जावा स्ट्रिंग (या कन्स्ट्रक्टर, या फील्ड एक्सेस) का प्रतिनिधित्व करने वाली कुछ डेटा संरचना में एक स्ट्रिंग (मैं व्याकरण परिभाषित करता हूं) का विश्लेषण करता हूं और फिर उस पुस्तकालय में उस डेटा संरचना को पास करता हूं जो कॉल और रिटर्न को आमंत्रित करता है परिणाम। विशेष रूप से, मैं चाहता हूँ यह पहले से ही सब किनारे मामलों है कि मैं यह पता लगाने की नहीं करना चाहते को संभालने के लिए: स्वतः सही विधि (एक बुद्धिमान Class.getDeclaredMethod तरह तर्कों के प्रकार के आधार पर लेने
- ())
- सरणियों और सामान्य वस्तु के बीच हैंडल भेद का संदर्भ
- आदि
मैं एक छोटे से समय बिताया है JVM पर गतिशील भाषाओं के कार्यान्वयन को देखते हुए, लेकिन इन आम तौर पर ज्यादा मैं तुलना में अधिक जटिल हैं मैं कण के लिए देख रहा हूं, या अत्यधिक अनुकूलन कर रहा हूं ular भाषा।
एक और विकल्प है कि मेरे व्याकरण को कुछ गतिशील भाषा में एक स्ट्रिंग में परिवर्तित करना और राइनो या कुछ के साथ इसका आह्वान करना है, लेकिन यह मेरी तुलना में थोड़ा अधिक ओवरहेड है।
धन्यवाद!
नहीं। मैं ऑब्जेक्ट आवेक (ऑब्जेक्ट ऑब्जेक्ट, स्ट्रिंग नेमऑफमेथ, ऑब्जेक्ट [] args) जैसे किसी विधि के साथ कुछ ढूंढ रहा हूं "जो सही तरीका पाता है (विरासत लेना और खाते में रूपांतरण टाइप करना) और इसे कॉल करें। जावा स्क्रिप्टिंग बस मुझे मौजूदा स्क्रिप्टिंग भाषा में स्ट्रिंग का मूल्यांकन करने दें। –
खैर, जावा स्क्रिप्टिंग जावा से स्क्रिप्टिंग भाषाओं को आमंत्रित करने से अधिक करती है, अगर मुझे गलत नहीं लगता है- यह जावा ऑब्जेक्ट्स (दस्तावेज़ों में बाध्यकारी के रूप में संदर्भित) के साथ स्क्रिप्टिंग कोड को इंटरैक्ट करने के लिए तंत्र प्रदान करता है, जो आपके जैसा ही दिखता है करने की कोशिश कर रहे हैं। – alex
... कम से कम, मौजूदा स्क्रिप्टिंग कार्यान्वयन पर एक नज़र डालने से आपको – alex