जेडीके 8
उत्तर
नैशर्न पार्सर एपीआई (http://openjdk.java.net/jeps/236) jdk9 विशिष्ट API है। Jdk8 या jdk8 अद्यतन पर, स्क्रिप्ट पार्सर फ़ंक्शन के लिए समर्थन है।
लोड ("nashorn: parser.js");
और स्क्रिप्ट से "पार्स" फ़ंक्शन कॉल करें। यह फ़ंक्शन एक JSON ऑब्जेक्ट देता है जो स्क्रिप्ट के एएसटी का प्रतिनिधित्व करता है। http://hg.openjdk.java.net/jdk8u/jdk8u-dev/nashorn/file/bfea11f8c8f2/samples/astviewer.js
जबकि आप निश्चित रूप से Nashorn का JavaScript के माध्यम से पार्सर का उपयोग कर सकते हैं, यह जावा एपीआई के माध्यम से इसका इस्तेमाल करने
import jdk.nashorn.api.scripting.ScriptUtils;
import jdk.nashorn.internal.runtime.Context;
import jdk.nashorn.internal.runtime.ECMAException;
import jdk.nashorn.internal.runtime.ErrorManager;
import jdk.nashorn.internal.runtime.options.Options;
// set up the environment
Options options = new Options("nashorn");
options.set("anon.functions", true);
options.set("parse.only", true);
options.set("scripting", true);
ErrorManager errors = new ErrorManager();
Context contextm = new Context(options, errors, Thread.currentThread().getContextClassLoader());
Context.setGlobal(contextm.createGlobal());
// then for each bit of parsing
String parseTree = ScriptUtils.parse(some_code_string, "nashorn", false);
यह एक बुरा विचार है। jdk.nashorn.internal। * नाशर्न के आंतरिक कार्यान्वयन पैकेज हैं। यह सुरक्षा प्रबंधक सक्षम होने में विफल हो जाएगा (यदि आपकी कक्षा अविश्वसनीय है)। Jdk9 के साथ, इन्हें नाशर्न मॉड्यूल से भी निर्यात नहीं किया जाता है और इसलिए यह संकलित करने में भी असफल हो जाएगा। –
उचित बिंदु। इसका एक और दुष्प्रभाव है, जिसे मैंने खोजा। यदि आप उपर्युक्त करते हैं तो आप 'स्क्रिप्टइंजिन' के माध्यम से नैशर्न का भी उपयोग नहीं कर सकते हैं। अंत में, मैंने नैशर्न के भीतर पार्सर का उपयोग करने के लिए एक छोटा 'जेएस' बनाया। –
- 1. नेटबीन्स 8 और जेडीके 1.8
- 2. जावा एप्लिकेशन सीपीयू/जेडीके 8
- 3. जावा जेडीके 8 इंडेक्सडप्रोपर्टी डिस्क्रिप्टर जेडीके 7 के बाद से सूची ऑब्जेक्ट
- 4. जेडीके 9
- 5. जेडीके 1.6 और जेडीके 1.7
- 6. ओपन जेडीके से सन जेडीके
- 7. जेडीके 1.6 और जेडीके 1.7
- 8. Charset.defaultCharset() जेडीके 1.7 और जेडीके 1.6
- 9. जावा कंपाइलर का लक्ष्य संस्करण "जेएसआर 14" जेडीके 7/8
- 10. जावा टर्नरी ऑपरेटर बनाम/अन्य में <जेडीके 8 संगतता
- 11. वाणिज्यिक उत्पादों में जेडीके 8 का उपयोग करना सुरक्षित रहेगा?
- 12. जेडीके 1.8
- 13. जेडीके 7 क्लास फ़ाइल जेडीके 6
- 14. जेडीके 1.6 जेडीके 1.5 के साथ संगत?
- 15. जेडीके 1.6
- 16. जेडीके 6
- 17. मैं जेडीके
- 18. जावा जेडीके
- 19. जेडीके 6
- 20. जेडीके 7
- 21. केवल जेडीके
- 22. जेडीके 1.6 और जेडीके 1.7 के बीच अंतर?
- 23. आईबीएम जे 9 जेडीके
- 24. जुनीट और जेडीके
- 25. जेडीके 6: प्रोजेक्ट मेट्रो
- 26. जावा जेडीके, एसडीके, एसई?
- 27. जेडीके 1.5 से 1.6
- 28. जेडीके 5 एपीआई
- 29. जेडीके 1.6 और जेर्सिस?
- 30. नेटबीन 8.2 जेडीके 9
धन्यवाद जावा में भी अच्छे है:
इस नमूने मिलते हैं! अंदरूनी आदमी से जवाब प्राप्त करने में कितना भयानक :) (जो आपको लगता है, है ना?) –