Grammar-based code
ವ್ಯಾಕರಣ-ಆಧಾರಿತ ಸಂಕೇತಗಳು ಅಥವಾ ವ್ಯಾಕರಣ-ಆಧಾರಿತ ಸಂಕೋಚನವು ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಸಂಕುಚಿತಗೊಳಿಸಲು ಸಂದರ್ಭ-ಮುಕ್ತ ವ್ಯಾಕರಣವನ್ನು (ಸಿಎಫ್ಜಿ) ನಿರ್ಮಿಸುವ ಕಲ್ಪನೆಯನ್ನು ಆಧರಿಸಿದ ಸಂಕೋಚನ ಕ್ರಮಾವಳಿಗಳಾಗಿವೆ. ಉದಾಹರಣೆಗಳಲ್ಲಿ ಸಾರ್ವತ್ರಿಕ ನಷ್ಟವಿಲ್ಲದ ದತ್ತಾಂಶ ಸಂಕೋಚನ ಕ್ರಮಾವಳಿಗಳು ಸೇರಿವೆ. ದತ್ತಾಂಶ ಅನುಕ್ರಮವನ್ನು ಸಂಕುಚಿತಗೊಳಿಸಲು, ವ್ಯಾಕರಣ-ಆಧಾರಿತ ಸಂಕೇತವು ಸಂದರ್ಭ-ಮುಕ್ತ ವ್ಯಾಕರಣವಾಗಿ ರೂಪಾಂತರಗೊಳ್ಳುತ್ತದೆ. ಇನ್ಪುಟ್ ಅನುಕ್ರಮಕ್ಕೆ (ಚಿಕ್ಕ ವ್ಯಾಕರಣ ಸಮಸ್ಯೆ) ಚಿಕ್ಕ ವ್ಯಾಕರಣವನ್ನು ಕಂಡುಹಿಡಿಯುವ ಸಮಸ್ಯೆಯನ್ನು ಎನ್ಪಿ-ಹಾರ್ಡ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಅನೇಕ ವ್ಯಾಕರಣ-ಪರಿವರ್ತನೆ ಕ್ರಮಾವಳಿಗಳನ್ನು ಸೈದ್ಧಾಂತಿಕ ಮತ್ತು ಪ್ರಾಯೋಗಿಕ ದೃಷ್ಟಿಕೋನಗಳಿಂದ ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಉತ್ಪತ್ತಿಯಾದ ವ್ಯಾಕರಣವನ್ನು ಅಂಕಗಣಿತದ ಕೋಡಿಂಗ್ನಂತಹ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಎನ್ಕೋಡರ್ಗಳಿಂದ ಮತ್ತಷ್ಟು ಸಂಕುಚಿತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗಳು ಮತ್ತು ಗುಣಲಕ್ಷಣಗಳು ವ್ಯಾಕರಣ ಆಧಾರಿತ ಸಂಕೇತಗಳ ವರ್ಗವು ಬಹಳ ವಿಶಾಲವಾಗಿದೆ. ಇದು ಬ್ಲಾಕ್ ಕೋಡ್ಗಳು, ಮಲ್ಟಿ ಲೆವೆಲ್ ಪ್ಯಾಟರ್ನ್ ಮ್ಯಾಚಿಂಗ್ (ಎಂಪಿಎಂ) ಅಲ್ಗಾರಿದಮ್, ಇಂಕ್ರಿಮೆಂಟಲ್ ಪಾರ್ಸಿಂಗ್ ಲೆಂಪೆಲ್-ಜಿವ್ ಕೋಡ್ನ ವ್ಯತ್ಯಾಸಗಳು ಮತ್ತು ಇತರ ಅನೇಕ ಹೊಸ ಸಾರ್ವತ್ರಿಕ ನಷ್ಟವಿಲ್ಲದ ಸಂಕೋಚನ ಅಲ್ಗಾರಿದಮ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ವ್ಯಾಕರಣ-ಆಧಾರಿತ ಸಂಕೇತಗಳು ಸಾರ್ವತ್ರಿಕವಾಗಿದ್ದು, ಅವು ಸೀಮಿತ ವರ್ಣಮಾಲೆಯೊಂದಿಗೆ ಯಾವುದೇ ಸ್ಥಾಯಿ, ಎರ್ಗೋಡಿಕ್ ಮೂಲದ ಎಂಟ್ರೊಪಿ ದರವನ್ನು ಲಕ್ಷಣರಹಿತವಾಗಿ ಸಾಧಿಸಬಹುದು. ಪ್ರಾಯೋಗಿಕ ಕ್ರಮಾವಳಿಗಳು ಈ ಕೆಳಗಿನ ಸಂಪೀಡನ ಕ್ರಮಾವಳಿಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳಿಂದ ಲಭ್ಯವಿವೆ. ಸೆಕ್ವಿಟೂರ್ ಒಂದು ಶಾಸ್ತ್ರೀಯ ವ್ಯಾಕರಣ ಸಂಕೋಚನ ಅಲ್ಗಾರಿದಮ್ ಆಗಿದ್ದು, ಇದು ಇನ್ಪುಟ್ ಪಠ್ಯವನ್ನು ಅನುಕ್ರಮವಾಗಿ ಸಿಎಫ್ಜಿಗೆ ಭಾಷಾಂತರಿಸುತ್ತದೆ, ಮತ್ತು ನಂತರ ಉತ್ಪತ್ತಿಯಾದ ಸಿಎಫ್ಜಿಯನ್ನು ಅಂಕಗಣಿತದ ಕೋಡರ್ನಿಂದ ಎನ್ಕೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ. ಮರು-ಜೋಡಿಯು ಅತ್ಯಂತ-ಆಗಾಗ್ಗೆ-ಮೊದಲ ಪರ್ಯಾಯ ತಂತ್ರವನ್ನು ಬಳಸುವ ದುರಾಸೆಯ ಅಲ್ಗಾರಿದಮ್ ಆಗಿದೆ. ಸಂಕೋಚಕ ಕಾರ್ಯಕ್ಷಮತೆಯು ಪ್ರಬಲವಾಗಿದೆ, ಆದಾಗ್ಯೂ ಮುಖ್ಯ ಮೆಮೊರಿ ಸ್ಥಳದ ಅಗತ್ಯವು ತುಂಬಾ ದೊಡ್ಡದಾಗಿದೆ. ಕಡಿಮೆ ಮಾಡಬಹುದಾದ ವ್ಯಾಕರಣವನ್ನು ನಿರ್ಮಿಸುವ ಜಿಎಲ್ಝಡ್ಎ, ಅಂದರೆ ಪುನರಾವರ್ತನೆಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಅಲ್ಲಿ ಪುನರಾವರ್ತನೆಗಳನ್ನು "ಉಚ್ಚರಿಸುವ" ಎಂಟ್ರೊಪಿ-ಕೋಡಿಂಗ್ ವೆಚ್ಚವು ಅವುಗಳನ್ನು ಸೆರೆಹಿಡಿಯಲು ನಿಯಮವನ್ನು ರಚಿಸುವ ಮತ್ತು ಎಂಟ್ರೊಪಿ-ಕೋಡಿಂಗ್ ಮಾಡುವ ವೆಚ್ಚಕ್ಕಿಂತ ಕಡಿಮೆಯಿರುತ್ತದೆ. (ಸಾಮಾನ್ಯವಾಗಿ, ಸಂಕೋಚನ-ಅತ್ಯುತ್ತಮ ಎಸ್ಎಲ್ಜಿ ಅನ್ನು ಇರ್ರೆಡ್ಯೂಸಿಬಲ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ, ಮತ್ತು ಚಿಕ್ಕ ವ್ಯಾಕರಣ ಸಮಸ್ಯೆಯು ನಿಜವಾದ ಎಸ್ಎಲ್ಜಿ ಸಂಕೋಚನ ಸಮಸ್ಯೆಯಿಂದ ಭಿನ್ನವಾಗಿದೆ.) ಡಿಕ್ಷನರಿ ಕೋಡರ್ ಗ್ರಾಮರ್ ಇಂಡಕ್ಷನ್ ಸ್ಟ್ರೈಟ್-ಲೈನ್ ವ್ಯಾಕರಣ ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಜಿಎಲ್ಝಡ್ಎ ಚರ್ಚೆ ಮತ್ತು ಕಾಗದದ ವಿವರಣೆ ವ್ಯಾಕರಣ ಆಧಾರಿತ ಸಂಕೇತಗಳ ವಿವರಣೆ ಉದಾಹರಣೆಗೆ ಸೆಕ್ವಿಟೂರ್ ಕೋಡ್ಗಳು ರೀ-ಪೇರ್ ಕೋಡ್ಗಳು ರೀ-ಪೇರ್ ಕೋಡ್ಗಳು ಗೊನ್ಜಾಲೋ ನವಾರೋ ಆವೃತ್ತಿಯನ್ನು ಸಹ ನೋಡಿ. ಗ್ರಾಮರ್ ವಿಜ್ 2-ಜಾವಾದಲ್ಲಿ ಸೆಕ್ವಿಟೂರ್, ರೀ-ಪೇರ್ ಮತ್ತು ಸಮಾನಾಂತರ ರೀ-ಪೇರ್ನ ಅನುಷ್ಠಾನ. ದತ್ತಾಂಶ ಸಂಕೋಚನ ಸಂಕೇತ ಸಿದ್ಧಾಂತ ಮಾಹಿತಿ ಸಿದ್ಧಾಂತ