ಎಲ್ಕ್ ಯೋಜನೆಯು ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳಿಗಾಗಿ ಕಾಂಪ್ಯಾಕ್ಟ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಎಂಜಿನ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತದೆ

2.0.9KB RAM ಮತ್ತು 32KB ಫ್ಲ್ಯಾಶ್‌ನೊಂದಿಗೆ ESP2 ಮತ್ತು Arduino Nano ಬೋರ್ಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳಂತಹ ಸಂಪನ್ಮೂಲ-ನಿರ್ಬಂಧಿತ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಬಳಕೆಗೆ ಗುರಿಪಡಿಸುವ ಎಲ್ಕ್ 30 JavaScript ಎಂಜಿನ್‌ನ ಹೊಸ ಬಿಡುಗಡೆ ಲಭ್ಯವಿದೆ. ಒದಗಿಸಿದ ವರ್ಚುವಲ್ ಯಂತ್ರವನ್ನು ನಿರ್ವಹಿಸಲು, 100 ಬೈಟ್‌ಗಳ ಮೆಮೊರಿ ಮತ್ತು 20 KB ಶೇಖರಣಾ ಸ್ಥಳವು ಸಾಕಾಗುತ್ತದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು ಸಿ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು GPLv2 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ. ಯೋಜನೆಯನ್ನು ನಿರ್ಮಿಸಲು, ಸಿ ಕಂಪೈಲರ್ ಸಾಕು - ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಅವಲಂಬನೆಗಳನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ. IoT ಸಾಧನಗಳಿಗೆ ಮುಂಗುಸಿ OS, mJS ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಎಂಜಿನ್ ಮತ್ತು ಎಂಬೆಡೆಡ್ ಮುಂಗುಸಿ ವೆಬ್ ಸರ್ವರ್‌ಗಾಗಿ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ನ ಡೆವಲಪರ್‌ಗಳು ಈ ಯೋಜನೆಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿದ್ದಾರೆ (ಸೀಮೆನ್ಸ್, ಷ್ನೇಯ್ಡರ್ ಎಲೆಕ್ಟ್ರಿಕ್, ಬ್ರಾಡ್‌ಕಾಮ್, ಬಾಷ್, ಗೂಗಲ್, ಸ್ಯಾಮ್‌ಸಂಗ್ ಮತ್ತು ಕ್ವಾಲ್ಕಾಮ್‌ನಂತಹ ಕಂಪನಿಗಳ ಉತ್ಪನ್ನಗಳಲ್ಲಿ ಬಳಸಲಾಗಿದೆ. )

ವಿವಿಧ ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳಿಗಾಗಿ ಫರ್ಮ್‌ವೇರ್ ಅನ್ನು ರಚಿಸುವುದು ಎಲ್ಕ್‌ನ ಮುಖ್ಯ ಉದ್ದೇಶವಾಗಿದೆ. C/C++ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ JavaScript ಹ್ಯಾಂಡ್ಲರ್‌ಗಳನ್ನು ಎಂಬೆಡ್ ಮಾಡಲು ಎಂಜಿನ್ ಸೂಕ್ತವಾಗಿದೆ. ನಿಮ್ಮ ಕೋಡ್‌ನಲ್ಲಿ ಎಂಜಿನ್ ಅನ್ನು ಬಳಸಲು, ಮೂಲ ಟ್ರೀಯಲ್ಲಿ elk.c ಫೈಲ್ ಅನ್ನು ಇರಿಸಿ, elk.h ಹೆಡರ್ ಫೈಲ್ ಅನ್ನು ಸೇರಿಸಿ ಮತ್ತು js_eval ಕರೆಯನ್ನು ಬಳಸಿ. ಇದು JavaScript ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಂದ C/C++ ಕೋಡ್‌ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಕಾರ್ಯಗಳನ್ನು ಕರೆಯಲು ಅನುಮತಿಸಲಾಗಿದೆ ಮತ್ತು ಪ್ರತಿಯಾಗಿ. ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ ಅನ್ನು ಬೈಟ್‌ಕೋಡ್ ಉತ್ಪಾದಿಸದ ಮತ್ತು ಡೈನಾಮಿಕ್ ಮೆಮೊರಿ ಹಂಚಿಕೆಯನ್ನು ಬಳಸದ ಇಂಟರ್ಪ್ರಿಟರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಮುಖ್ಯ ಕೋಡ್‌ನಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾದ ಸಂರಕ್ಷಿತ ಪರಿಸರದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.

ಎಲ್ಕ್ ಎಕ್ಮಾಸ್ಕ್ರಿಪ್ಟ್ 6 ನಿರ್ದಿಷ್ಟತೆಯ ಒಂದು ಸಣ್ಣ ಉಪವಿಭಾಗವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ, ಆದರೆ ಕೆಲಸ ಮಾಡುವ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ರಚಿಸಲು ಸಾಕಾಗುತ್ತದೆ.ನಿರ್ದಿಷ್ಟವಾಗಿ, ಇದು ಮೂಲ ನಿರ್ವಾಹಕರು ಮತ್ತು ಪ್ರಕಾರಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಆದರೆ ಅರೇಗಳು, ಮೂಲಮಾದರಿಗಳು, ಇದು, ಹೊಸ ಮತ್ತು ಅಳಿಸುವಿಕೆ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ವರ್ ಮತ್ತು ಕಾನ್ಸ್ಟ್ ಬದಲಿಗೆ ಲೆಟ್ ಅನ್ನು ಬಳಸಲು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಮತ್ತು ಆದರೆ ಡೂ ಬದಲಿಗೆ, ಸ್ವಿಚ್ ಮತ್ತು ಫಾರ್. ಯಾವುದೇ ಪ್ರಮಾಣಿತ ಗ್ರಂಥಾಲಯವನ್ನು ಒದಗಿಸಲಾಗಿಲ್ಲ, ಅಂದರೆ. ಅಂತಹ ಯಾವುದೇ ದಿನಾಂಕ, Regexp, ಕಾರ್ಯ, ಸ್ಟ್ರಿಂಗ್ ಮತ್ತು ಸಂಖ್ಯೆ ವಸ್ತುಗಳು ಇಲ್ಲ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ