मैंने सी में एक कंपाइलर (lex & bison का उपयोग करके) एक डायनामिक टाइप की गई प्रोग्रामिंग लैंग्वेज के लिए बनाया है, जो लूप्स, फंक्शंस डिक्लेरेशन इन फंक्शन्स, रिकर्सिव कॉल्स आदि का समर्थन करता है। मैंने एक वर्चुअल मशीन भी बनाई है जो कंपाइलर द्वारा बनाया गया इंटरमीडिएट कोड चलाता है।
मैं अब अपने स्वयं के मध्यवर्ती कोड को संकलित करने के बजाय, इसे जावा बाइट कोड पर संकलित करने के बारे में सोच रहा था।
मैंने देखा कि JVM भाषा बनाने के बारे में सवाल पहले ही पूछा जा चुका है, लेकिन मुझे इसका उत्तर बहुत जानकारीपूर्ण नहीं लगा।
तो यहाँ मेरे सवाल हैं:
- मुझे लगता है कि JVM के लिए एक भाषा बनाने के लिए एक JVM विनिर्देश पुस्तक पढ़ना आवश्यक है , आप अन्य पुस्तकों के बारे में क्या सुझाव दे सकते हैं (ड्रैगन बुक ऑफ़ कोर्स को छोड़कर)? मैं ज्यादातर पुस्तकों या ट्यूटोरियल के बारे में चिंतित हूं कि एक जेवीएम भाषा कैसे बनाई जाए, सामान्य रूप से संकलक नहीं।
- वहाँ कई जावा पढ़ने के लिए पुस्तकालयों, लिखने और जैसे परिवर्तन .class फ़ाइलें हैं jclasslib , BCEL , जीएनयू बाईटकोड एक आप सुझाव है कि कौन सा, आदि? इसके अलावा, क्या आप सी पुस्तकालयों के बारे में जानते हैं जो समान कार्य करते हैं?
- मैं शायद एक और भाषा पर एक नज़र डालने के बारे में सोच रहा था जो क्लीवेज, जेथॉन या जेरी जैसे जेवीएम को लक्षित करती है। लेकिन ये सभी भाषाएं बहुत उच्च स्तर की और जटिल हैं (उनके लिए एक कंपाइलर बनाने के लिए)। मैं एक सरल (अगर मुझे पता नहीं है कि यह अज्ञात या अप्रयुक्त है) प्रोग्रामिंग भाषा जो जेवीएम को लक्षित करती है और यह संकलित है तो खुला स्रोत है। कोई विचार?