Scannerless parsing
ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದಲ್ಲಿ, ಸ್ಕ್ಯಾನರ್ಲೆಸ್ ಪಾರ್ಸಿಂಗ್ (ಲೆಕ್ಸರ್ಲೆಸ್ ಪಾರ್ಸಿಂಗ್ ಎಂದೂ ಕರೆಯಲ್ಪಡುತ್ತದೆ) ಟೋಕನೈಸೇಶನ್ (ಅಕ್ಷರಗಳ ಹರಿವನ್ನು ಪದಗಳಾಗಿ ವಿಭಜಿಸುವುದು) ಮತ್ತು ಪಾರ್ಸಿಂಗ್ (ಪದಗಳನ್ನು ಪದಗುಚ್ಛಗಳಾಗಿ ಜೋಡಿಸುವುದು) ಅನ್ನು ಲೆಕ್ಸರ್ನ ಪೈಪ್ಲೈನ್ ಆಗಿ ವಿಭಜಿಸುವ ಬದಲು ಒಂದೇ ಹಂತದಲ್ಲಿ ಮಾಡುತ್ತದೆ. ಭಾಷೆಯ ಲೆಕ್ಸಿಕಲ್ (ಪದ ಮಟ್ಟ) ಮತ್ತು ಪದಗುಚ್ಛ ಮಟ್ಟದ ರಚನೆ ಎರಡನ್ನೂ ವ್ಯಕ್ತಪಡಿಸಲು ಒಂದೇ ಔಪಚಾರಿಕತೆಯನ್ನು ಬಳಸಿದರೆ ಭಾಷೆಯ ವ್ಯಾಕರಣವು ಸ್ಕ್ಯಾನರ್ಲೆಸ್ ಆಗಿರುತ್ತದೆ. ಸಂಸ್ಕರಣೆಯನ್ನು ಲೆಕ್ಸರ್ ಆಗಿ ವಿಂಗಡಿಸುವುದು ಮತ್ತು ನಂತರ ಪಾರ್ಸರ್ ಹೆಚ್ಚು ಮಾಡ್ಯುಲರ್ ಆಗಿದೆ; ಸ್ಪಷ್ಟ ಲೆಕ್ಸರ್-ಪಾರ್ಸರ್ ವ್ಯತ್ಯಾಸವು ಅನಗತ್ಯವಾಗಿದ್ದಾಗ ಅಥವಾ ಅನಗತ್ಯವಾಗಿದ್ದಾಗ ಸ್ಕ್ಯಾನರ್ಲೆಸ್ ಪಾರ್ಸಿಂಗ್ ಅನ್ನು ಪ್ರಾಥಮಿಕವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಇದು ಯಾವಾಗ ಸೂಕ್ತವಾಗಿದೆ ಎಂಬುದಕ್ಕೆ ಉದಾಹರಣೆಗಳಲ್ಲಿ ಟೆಕ್, ಹೆಚ್ಚಿನ ವಿಕಿ ವ್ಯಾಕರಣಗಳು, ಮೇಕ್ಫೈಲ್ಗಳು, ಸರಳ ಅಪ್ಲಿಕೇಶನ್-ನಿರ್ದಿಷ್ಟ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ಭಾಷೆಗಳು ಮತ್ತು ರಾಕು ಸೇರಿವೆ. ಪ್ರಯೋಜನಗಳು ಕೇವಲ ಒಂದು ಲೋಹದ ಭಾಷೆಯ ಅಗತ್ಯವಿರುತ್ತದೆ ನಿಯಮಿತವಲ್ಲದ ಲೆಕ್ಸಿಕಲ್ ರಚನೆಯನ್ನು ಸುಲಭವಾಗಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ "ಟೋಕನ್ ವರ್ಗೀಕರಣ" ಅನಗತ್ಯವಾಗಿದ್ದು, ಇದು "ಲೆಕ್ಸರ್ ಹ್ಯಾಕ್" ಮತ್ತು ಭಾಷೆಯ ಕಾಯ್ದಿರಿಸಿದ ಪದಗಳಂತಹ ವಿನ್ಯಾಸ ವಸತಿಗಳ ಅಗತ್ಯವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ (ಉದಾಹರಣೆಗೆ "ಸಿ ಯಲ್ಲಿ") ವ್ಯಾಕರಣಗಳು ಸಂಯೋಜಿತವಾಗಿರಬಹುದು (ಮಾನವ ಹಸ್ತಕ್ಷೇಪವಿಲ್ಲದೆ ವಿಲೀನಗೊಳ್ಳಬಹುದು) ಅನಾನುಕೂಲಗಳು ಲೆಕ್ಸಿಕಲ್ ಸ್ಕ್ಯಾನಿಂಗ್ ಮತ್ತು ವಾಕ್ಯರಚನೆಯ ಪಾರ್ಸಿಂಗ್ ಅನ್ನು ಸಂಯೋಜಿಸುವುದರಿಂದ, ಪರಿಣಾಮವಾಗಿ ಪಾರ್ಸರ್ ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾಗಿರುತ್ತದೆ ಮತ್ತು ಆದ್ದರಿಂದ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ಡೀಬಗ್ ಮಾಡಲು ಕಷ್ಟವಾಗುತ್ತದೆ. ಪಾರ್ಸರ್ ಅನ್ನು ರಚಿಸಲು ವ್ಯಾಕರಣವನ್ನು ಬಳಸಿದರೆ, ಸಂಬಂಧಿತ ವ್ಯಾಕರಣಕ್ಕೂ ಇದು ಅನ್ವಯಿಸುತ್ತದೆ. ಫಲಿತಾಂಶದ ಪಾರ್ಸರ್ ಸಮಯ ಮತ್ತು ಸ್ಮರಣೆ ಎರಡಕ್ಕೂ ಸಂಬಂಧಿಸಿದಂತೆ ಲೆಕ್ಸರ್-ಪಾರ್ಸರ್ ಪೈಪ್ಲೈನ್ಗಿಂತ ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ. ಅನುಷ್ಠಾನಗಳು ಎಸ್ಜಿಎಲ್ಆರ್ ಮಾಡ್ಯುಲರ್ ಸಿಂಟ್ಯಾಕ್ಸ್ ಡೆಫಿನಿಷನ್ ಫಾರ್ಮಲಿಜಂ (ಎಸ್ಡಿಎಫ್) ಗೆ ಪಾರ್ಸರ್ ಆಗಿದೆ ಮತ್ತು ಇದು ಎಎಸ್ಎಫ್ + ಎಸ್ಡಿಎಫ್ ಮೆಟಾ-ಎನ್ವಿರಾನ್ಮೆಂಟ್ ಮತ್ತು ಸ್ಟ್ರಾಟೆಗೊ/ಎಕ್ಸ್ಟಿ ಪ್ರೋಗ್ರಾಂ ರೂಪಾಂತರ ವ್ಯವಸ್ಥೆಯ ಭಾಗವಾಗಿದೆ. ಜೆಎಸ್ಜಿಎಲ್ಆರ್, ಎಸ್ಜಿಎಲ್ಆರ್ನ ಶುದ್ಧ ಜಾವಾ ಅನುಷ್ಠಾನವೂ ಸಹ ಎಸ್ಡಿಎಫ್ಅನ್ನು ಆಧರಿಸಿದೆ. ಟಿಎಕ್ಸ್ಎಲ್ ಅಕ್ಷರ-ಮಟ್ಟದ ಪಾರ್ಸಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಡಿ ಪಾರ್ಸರ್ ಸ್ಕ್ಯಾನರ್ಲೆಸ್ ಜಿಎಲ್ಆರ್ ಪಾರ್ಸರ್ಗಳಿಗಾಗಿ ಎಎನ್ಎಸ್ಐ ಸಿ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಸ್ಪಿರಿಟ್ ಸ್ಕ್ಯಾನರ್ಲೆಸ್ ಮತ್ತು ಸ್ಕ್ಯಾನರ್-ಆಧಾರಿತ ಪಾರ್ಸಿಂಗ್ ಎರಡಕ್ಕೂ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಎಸ್. ಬಿ. ಪಿ. ಯು ಜಾವಾದಲ್ಲಿ ಬರೆಯಲಾದ ಬೂಲಿಯನ್ ವ್ಯಾಕರಣಗಳಿಗೆ (ಸಂದರ್ಭ-ಮುಕ್ತ ವ್ಯಾಕರಣಗಳ ಒಂದು ಸೂಪರ್ಸೆಟ್) ಸ್ಕ್ಯಾನರ್ಲೆಸ್ ಪಾರ್ಸರ್ ಆಗಿದೆ. ಲಾಜಾ ಎಂಬುದು ಎರಡು-ಹಂತದ ಸ್ಕ್ಯಾನರ್ಲೆಸ್ ಪಾರ್ಸರ್ ಜನರೇಟರ್ ಆಗಿದ್ದು, ಜಾವಾದಲ್ಲಿ ಬರೆಯಲಾದ ವ್ಯಾಕರಣ ನಿಯಮಗಳನ್ನು ವಸ್ತುಗಳಾಗಿ ಮ್ಯಾಪ್ ಮಾಡಲು ಬೆಂಬಲವನ್ನು ಹೊಂದಿದೆ. ರಾಕು ವ್ಯಾಕರಣಗಳು ಸಾಮಾನ್ಯ ಉದ್ದೇಶದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಲಕ್ಷಣವಾಗಿದೆ. ಪೈಪಾರ್ಸಿಂಗ್ ಎಂಬುದು ಶುದ್ಧ ಪೈಥಾನ್ನಲ್ಲಿ ಬರೆಯಲಾದ ಸ್ಕ್ಯಾನರ್ಲೆಸ್ ಪಾರ್ಸರ್ ಆಗಿದೆ. ಮೆಟಾ II ಟೋಕನ್ ಪಾರ್ಸರ್ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ಮಿಸಿದೆ. ಮೆಟಾ II ನಂತೆ ಟ್ರೀ-ಮೆಟಾ ಸಹ ಅಂತರ್ನಿರ್ಮಿತ ಲೆಕ್ಸರ್ ಕಾರ್ಯಗಳನ್ನು ಹೊಂದಿರುವ ಸ್ಕ್ಯಾನರ್ಲೆಸ್ ಆಗಿದೆ. ಕಂಪೈಲರ್ಗಳನ್ನು ಬರೆಯಲು ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಿ. ಡಬ್ಲ್ಯೂ. ಐ. ಸಿ ಕಂಪೈಲರ್. ಅದರ ಭಾಷೆಯ ಭಾಗವಾಗಿ ಸಾಂಕೇತಿಕ ನಿಯಮಗಳನ್ನು ಹೊಂದಿದೆ. ಸಿ. ಡಬ್ಲ್ಯು. ಐ. ಸಿ. ಯಲ್ಲಿನ ನಿಯಮಗಳನ್ನು ಯಶಸ್ಸು ಅಥವಾ ವೈಫಲ್ಯವನ್ನು ಹಿಂದಿರುಗಿಸುವ ಬೂಲಿಯನ್ ಕಾರ್ಯಗಳಾಗಿ ಸಂಕಲಿಸಲಾಗಿದೆ. ಟಿಪ್ಪಣಿಗಳು ಏಕೆಂದರೆ ಅಕ್ಷರಗಳ ಮಟ್ಟದಲ್ಲಿ ಪಾರ್ಸಿಂಗ್ ಮಾಡುವುದರಿಂದ ಪಾರ್ಸರ್ನಿಂದ ಗುರುತಿಸಲ್ಪಟ್ಟ ಭಾಷೆಯು ಅಕ್ಷರಗಳ ಮೇಲೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಒಂದೇ ಸಂದರ್ಭ-ಮುಕ್ತ ಭಾಷೆಯಾಗಿದೆ, ಇದು ಸಾಮಾನ್ಯ ಭಾಷೆಗಳಲ್ಲಿನ ತಂತಿಗಳ ಅನುಕ್ರಮಗಳ ಸಂದರ್ಭ-ಮುಕ್ತ ಭಾಷೆಗೆ ವಿರುದ್ಧವಾಗಿದೆ. ಕೆಲವು ಲೆಕ್ಸರ್ಲೆಸ್ ಪಾರ್ಸರ್ಗಳು ಸಂಯೋಜನೆಯ ಅಡಿಯಲ್ಲಿ ಮುಚ್ಚಲ್ಪಟ್ಟಿರುವ ಸಂದರ್ಭ-ಮುಕ್ತ ಭಾಷೆಗಳ ಸಂಪೂರ್ಣ ವರ್ಗವನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ. ಉಲ್ಲೇಖಗಳು ಮತ್ತಷ್ಟು ಓದುವಿಕೆ ಪಾರ್ಸಿಂಗ್ ಕ್ರಮಾವಳಿಗಳು