Compiler Description Language
ಕಂಪೈಲರ್ ಡಿಸ್ಕ್ರಿಪ್ಷನ್ ಲ್ಯಾಂಗ್ವೇಜ್ (ಸಿ. ಡಿ. ಎಲ್.) ಎಂಬುದು ಅಫಿಕ್ಸ್ ವ್ಯಾಕರಣಗಳನ್ನು ಆಧರಿಸಿದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾಗಿದೆ. ಇದು ಬ್ಯಾಕಸ್-ನೌರ್ ರೂಪದ (ಬಿ. ಎನ್. ಎಫ್.) ಸಂಕೇತಕ್ಕೆ ಬಹಳ ಹೋಲುತ್ತದೆ. ಇದನ್ನು ಕಂಪೈಲರ್ಗಳ ಅಭಿವೃದ್ಧಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಇದು ತನ್ನ ಸಾಮರ್ಥ್ಯಗಳು ಮತ್ತು ನಿಯಂತ್ರಣ ಹರಿವಿನಲ್ಲಿ ಬಹಳ ಸೀಮಿತವಾಗಿದೆ, ಮತ್ತು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ. ಈ ಮಿತಿಗಳ ಪ್ರಯೋಜನಗಳು ಎರಡು ಪಟ್ಟು ಹೆಚ್ಚಾಗಿರುತ್ತವೆ. ಒಂದೆಡೆ, ಅವು ಸಿ. ಡಿ. ಎಲ್. 2 ಆಪ್ಟಿಮೈಜರ್ಗಳು ಬಳಸುವ ಅತ್ಯಾಧುನಿಕ ದತ್ತಾಂಶ ಮತ್ತು ನಿಯಂತ್ರಣ ಹರಿವಿನ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಅತ್ಯಂತ ಪರಿಣಾಮಕಾರಿ ಕೋಡ್ಗೆ ಕಾರಣವಾಗುತ್ತವೆ. ಇನ್ನೊಂದು ಪ್ರಯೋಜನವೆಂದರೆ ಅವರು ಹೆಚ್ಚು ಮಾತಿನ ಹೆಸರಿಸುವ ಸಂಪ್ರದಾಯವನ್ನು ಬೆಳೆಸುತ್ತಾರೆ. ಇದು, ಪ್ರತಿಯಾಗಿ, ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದಲ್ಲಿ, ಸ್ವಯಂ-ದಾಖಲಿಸುವ ಕಾರ್ಯಕ್ರಮಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಈ ಭಾಷೆಯು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಪ್ರೋಲಾಗ್ನಂತೆ ಕಾಣುತ್ತದೆ (ಇದು ಆಶ್ಚರ್ಯವೇನಿಲ್ಲ ಏಕೆಂದರೆ ಎರಡೂ ಭಾಷೆಗಳು ಒಂದೇ ಸಮಯದಲ್ಲಿ ಅಫಿಕ್ಸ್ ವ್ಯಾಕರಣದ ಕೆಲಸದಿಂದ ಹುಟ್ಟಿಕೊಂಡಿವೆ). ಆದಾಗ್ಯೂ, ಪ್ರೋಲಾಗ್ಗೆ ವಿರುದ್ಧವಾಗಿ, ಸಿ. ಡಿ. ಎಲ್. ನಲ್ಲಿನ ನಿಯಂತ್ರಣ ಹರಿವು ನಿರ್ಣಾಯಕವಾಗಿ ಯಶಸ್ಸು/ವೈಫಲ್ಯವನ್ನು ಆಧರಿಸಿದೆ, ಅಂದರೆ, ಪ್ರಸ್ತುತವು ಯಶಸ್ವಿಯಾದಾಗ ಬೇರೆ ಯಾವುದೇ ಪರ್ಯಾಯಗಳನ್ನು ಪ್ರಯತ್ನಿಸುವುದಿಲ್ಲ. ಈ ಕಲ್ಪನೆಯನ್ನು ಅಭಿವ್ಯಕ್ತಿ ವ್ಯಾಕರಣಗಳನ್ನು ಪಾರ್ಸಿಂಗ್ ಮಾಡುವುದಕ್ಕೂ ಬಳಸಲಾಗುತ್ತದೆ. ಸಿಡಿಎಲ್ 3 ಸಿಡಿಎಲ್ ಭಾಷೆಯ ಮೂರನೇ ಆವೃತ್ತಿಯಾಗಿದ್ದು, ಹಿಂದಿನ ಎರಡು ಆವೃತ್ತಿಗಳಿಗಿಂತ ಗಮನಾರ್ಹವಾಗಿ ಭಿನ್ನವಾಗಿದೆ. 1971ರಲ್ಲಿ ಹೊರಹೊಮ್ಮಿದ ನಿಜ್ಮೆಗನ್ ವಿಶ್ವವಿದ್ಯಾಲಯದಲ್ಲಿ ಕಾರ್ನೆಲಿಸ್ ಎಚ್. ಎ. ಕೋಸ್ಟರ್ ವಿನ್ಯಾಸಗೊಳಿಸಿದ ಮೂಲ ಆವೃತ್ತಿಯು ಅಸಾಮಾನ್ಯ ಪರಿಕಲ್ಪನೆಯನ್ನು ಹೊಂದಿತ್ತುಃ ಇದು ಯಾವುದೇ ಕೋರ್ ಅನ್ನು ಹೊಂದಿರಲಿಲ್ಲ. ಒಂದು ವಿಶಿಷ್ಟ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಮೂಲವನ್ನು ಯಂತ್ರ ಸೂಚನೆಗಳು ಅಥವಾ ಆ ಸೂಚನೆಗಳ ಪೂರ್ವಸಿದ್ಧ ಅನುಕ್ರಮಗಳಿಗೆ ಅನುವಾದಿಸಲಾಗುತ್ತದೆ. ಅವು ಕೋರ್ನನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತವೆ, ಕೊಟ್ಟಿರುವ ಭಾಷೆಯು ಬೆಂಬಲಿಸುವ ಅತ್ಯಂತ ಮೂಲಭೂತ ಅಮೂರ್ತತೆಗಳು. ಅಂತಹ ಆದಿಮಗಳು ಸಂಖ್ಯೆಗಳ ಸೇರ್ಪಡೆಗಳು, ಪರಸ್ಪರ ಚಲಪರಿಮಾಣಗಳನ್ನು ನಕಲು ಮಾಡುವುದು ಮತ್ತು ಮುಂತಾದವುಗಳಾಗಿರಬಹುದು. ಸಿ. ಡಿ. ಎಲ್. 1 ಅಂತಹ ಕೋರ್ ಅನ್ನು ಹೊಂದಿಲ್ಲ. ಪ್ರಾಚೀನ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಒಂದು ರೂಪದಲ್ಲಿ ಒದಗಿಸುವುದು ಪ್ರೋಗ್ರಾಮರ್ನ ಜವಾಬ್ದಾರಿಯಾಗಿದೆ, ನಂತರ ಅದನ್ನು ಜೋಡಣೆದಾರ ಅಥವಾ ಸಾಂಪ್ರದಾಯಿಕ ಭಾಷೆಗೆ ಕಂಪೈಲರ್ ಮೂಲಕ ಯಂತ್ರ ಸೂಚನೆಗಳಾಗಿ ಪರಿವರ್ತಿಸಬಹುದು. ಸಿ. ಡಿ. ಎಲ್. 1 ಭಾಷೆಯು ಸ್ವತಃ ಆದಿಮಗಳ ಯಾವುದೇ ಪರಿಕಲ್ಪನೆಯನ್ನು ಹೊಂದಿಲ್ಲ, ಯಂತ್ರ ಪದವನ್ನು ಹೊರತುಪಡಿಸಿ ದತ್ತಾಂಶ ಪ್ರಕಾರಗಳ ಯಾವುದೇ ಪರಿಕಲ್ಪನೆಯನ್ನು ಹೊಂದಿಲ್ಲ (ಶೇಖರಣೆಯ ಅಮೂರ್ತ ಘಟಕ-ನಿಜವಾದ ಯಂತ್ರ ಪದವಲ್ಲ). ಮೌಲ್ಯಮಾಪನದ ನಿಯಮಗಳು ಬ್ಯಾಕಸ್-ನೌರ್ ರೂಪದ ವಾಕ್ಯರಚನೆಯ ವಿವರಣೆಗಳನ್ನು ಹೋಲುತ್ತವೆ; ವಾಸ್ತವವಾಗಿ, ಬಿ. ಎನ್. ಎಫ್. ನಲ್ಲಿ ವಿವರಿಸಲಾದ ಭಾಷೆಗೆ ಪಾರ್ಸರ್ ಅನ್ನು ಬರೆಯುವುದು ಸಿ. ಡಿ. ಎಲ್. 1 ರಲ್ಲಿ ಸರಳವಾಗಿದೆ. ಮೂಲಭೂತವಾಗಿ, ಭಾಷೆಯು ನಿಯಮಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಒಂದು ನಿಯಮವು ಯಶಸ್ವಿಯಾಗಬಹುದು ಅಥವಾ ವಿಫಲವಾಗಬಹುದು. ಒಂದು ನಿಯಮವು ಇತರ ನಿಯಮ ಆಹ್ವಾನಗಳ ಅನುಕ್ರಮಗಳ ಪರ್ಯಾಯಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಒಂದು ನಿಯಮವು ಅದರ ಯಾವುದೇ ಪರ್ಯಾಯಗಳು ಯಶಸ್ವಿಯಾದರೆ ಯಶಸ್ವಿಯಾಗುತ್ತದೆ; ಇವುಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತದೆ. ಅದರ ಎಲ್ಲಾ ನಿಯಮ ಆಹ್ವಾನಗಳು ಯಶಸ್ವಿಯಾದರೆ ಪರ್ಯಾಯವು ಯಶಸ್ವಿಯಾಗುತ್ತದೆ. ಪುನರಾವರ್ತನೆಯಿಲ್ಲದೆ ಮೌಲ್ಯಮಾಪನ ಲೂಪ್ಗಳನ್ನು ರಚಿಸಲು ಈ ಭಾಷೆಯು ನಿರ್ವಾಹಕರಿಗೆ (ಆಪ್ಟಿಮೈಜರ್ ಅದೇ ಪರಿಣಾಮವನ್ನು ಸಾಧಿಸುವುದರಿಂದ ಸಿಡಿಎಲ್ 2 ನಲ್ಲಿ ಇದು ಕಟ್ಟುನಿಟ್ಟಾಗಿ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೂ) ಮತ್ತು ಪುನರಾವರ್ತಿತ ಮೌಲ್ಯಮಾಪನದ ದಕ್ಷತೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ಕೆಲವು ಶಾರ್ಟ್ಕಟ್ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಆದರೆ ಮೂಲ ಪರಿಕಲ್ಪನೆಯು ಮೇಲಿನಂತೆ ಇರುತ್ತದೆ. ಸಂದರ್ಭ-ಮುಕ್ತ ವ್ಯಾಕರಣ ಪಾರ್ಸಿಂಗ್ನಲ್ಲಿನ ಸ್ಪಷ್ಟ ಅನ್ವಯದ ಹೊರತಾಗಿ, ಸಿ. ಡಿ. ಎಲ್. ಅನ್ವಯಿಕೆಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ಸಹ ಸೂಕ್ತವಾಗಿದೆ ಏಕೆಂದರೆ ಬಹಳಷ್ಟು ನಿಯಂತ್ರಣ ಅನ್ವಯಿಕೆಗಳು ಮೂಲಭೂತವಾಗಿ ಆಳವಾಗಿ ನೆಸ್ಟೆಡ್ ಇಫ್-ಥೆನ್ ನಿಯಮಗಳಾಗಿವೆ. ಪ್ರತಿಯೊಂದು ಸಿ. ಡಿ. ಎಲ್. 1 ನಿಯಮವು, ಮೌಲ್ಯಮಾಪನ ಮಾಡುವಾಗ, ನಿರ್ದಿಷ್ಟಪಡಿಸದ ಪ್ರಕಾರದ ದತ್ತಾಂಶದ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಆದರ್ಶಪ್ರಾಯವಾಗಿ, ನಿಯಮವು ಯಶಸ್ವಿಯಾಗದ ಹೊರತು ಡೇಟಾವನ್ನು ಬದಲಾಯಿಸಬಾರದು (ವೈಫಲ್ಯದ ಮೇಲೆ ಯಾವುದೇ ಅಡ್ಡಪರಿಣಾಮಗಳಿಲ್ಲ). ಈ ನಿಯಮವು ಯಶಸ್ವಿಯಾದರೂ, ಅದನ್ನು ಆಹ್ವಾನಿಸುವ ನಿಯಮವು ಇನ್ನೂ ವಿಫಲವಾಗಬಹುದು, ಈ ಸಂದರ್ಭದಲ್ಲಿ ದತ್ತಾಂಶ ಬದಲಾವಣೆಯು ಜಾರಿಗೆ ಬರಬಾರದು ಎಂಬಂತೆ ಇದು ಸಮಸ್ಯೆಗಳನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ. ಎಲ್ಲಾ ದತ್ತಾಂಶಗಳನ್ನು ಒಂದು ಸ್ಟ್ಯಾಕ್ ಮೇಲೆ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಹಂಚಿಕೊಂಡರೆ ಮೇಲಿನ ನಡವಳಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸುವುದು ಸಾಕಷ್ಟು ಸುಲಭ (ಮೆಮೊರಿ ತೀವ್ರವಾಗಿದ್ದರೂ). ಆದಾಗ್ಯೂ, ಸ್ಥಿರ ದತ್ತಾಂಶವಿದ್ದಾಗ ಇದು ಕಷ್ಟವಾಗುತ್ತದೆ, ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಕಂಡುಬರುತ್ತದೆ. ಸಿ. ಡಿ. ಎಲ್. 2 ಕಂಪೈಲರ್ ಸಂಭಾವ್ಯ ಉಲ್ಲಂಘನೆಗಳನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ, ಏಕೆಂದರೆ ನಿಯತಾಂಕಗಳ ದಿಕ್ಕು (ಇನ್ಪುಟ್, ಔಟ್ಪುಟ್, ಇನ್ಪುಟ್-ಔಟ್ಪುಟ್) ಮತ್ತು ನಿಯಮಗಳ ಪ್ರಕಾರ (ವಿಫಲವಾಗಬಹುದುಃ ಪರೀಕ್ಷೆ, ಭವಿಷ್ಯ; ವಿಫಲಗೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲಃ ಕಾರ್ಯ, ಕ್ರಿಯೆ; ಅಡ್ಡಪರಿಣಾಮವನ್ನು ಹೊಂದಿರಬಹುದುಃ ಭವಿಷ್ಯ, ಕ್ರಿಯೆ; ಅಡ್ಡಪರಿಣಾಮವನ್ನು ಹೊಂದಿರಬಾರದುಃ ಪರೀಕ್ಷೆ, ಕಾರ್ಯ) ಪ್ರೋಗ್ರಾಮರ್ ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು. ನಿಯಮದ ಮೌಲ್ಯಮಾಪನವು ಸರಳವಾದ ಮತ್ತು ಸರಳವಾದ ನಿಯಮಗಳನ್ನು ಕರೆಯುವುದನ್ನು ಆಧರಿಸಿರುವುದರಿಂದ, ಕೆಳಭಾಗದಲ್ಲಿ, ನಿಜವಾದ ಕೆಲಸವನ್ನು ಮಾಡುವ ಕೆಲವು ಪ್ರಾಚೀನ ನಿಯಮಗಳು ಇರಬೇಕು. ಅಲ್ಲಿಯೇ ಸಿ. ಡಿ. ಎಲ್. 1 ಬಹಳ ಆಶ್ಚರ್ಯಕರವಾಗಿದೆಃ ಇದು ಆ ಆದಿಮಗಳನ್ನು ಹೊಂದಿಲ್ಲ. ನೀವು ಆ ನಿಯಮಗಳನ್ನು ನೀವೇ ಒದಗಿಸಬೇಕು. ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಂನಲ್ಲಿ ನಿಮಗೆ ಸೇರ್ಪಡೆಯ ಅಗತ್ಯವಿದ್ದರೆ, ನೀವು ಎರಡು ಇನ್ಪುಟ್ ನಿಯತಾಂಕಗಳು ಮತ್ತು ಒಂದು ಔಟ್ಪುಟ್ ನಿಯತಾಂಕದೊಂದಿಗೆ ನಿಯಮವನ್ನು ರಚಿಸಬೇಕು, ಮತ್ತು ಔಟ್ಪುಟ್ ಅನ್ನು ನಿಮ್ಮ ಕೋಡ್ನಿಂದ ಎರಡು ಇನ್ಪುಟ್ಗಳ ಮೊತ್ತವಾಗಿ ಹೊಂದಿಸಲಾಗುತ್ತದೆ. ಸಿಡಿಎಲ್ ಕಂಪೈಲರ್ ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಸ್ಟ್ರಿಂಗ್ಗಳಾಗಿ ಬಳಸುತ್ತದೆ (ಇನ್ಪುಟ್ ಮತ್ತು ಔಟ್ಪುಟ್ ಅಸ್ಥಿರಗಳನ್ನು ಹೇಗೆ ಉಲ್ಲೇಖಿಸಬೇಕು ಎಂಬುದರ ಕುರಿತು ಸಂಪ್ರದಾಯಗಳಿವೆ) ಮತ್ತು ಅಗತ್ಯವಿರುವಂತೆ ಅದನ್ನು ಹೊರಸೂಸುತ್ತದೆ. ಜೋಡಣೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನಿಮ್ಮ ಸೇರಿಸುವ ನಿಯಮವನ್ನು ನೀವು ವಿವರಿಸಿದರೆ, ಸಿಡಿಎಲ್ ಕಂಪೈಲರ್ನ ಔಟ್ಪುಟ್ ಅನ್ನು ಯಂತ್ರ ಸಂಕೇತಕ್ಕೆ ಭಾಷಾಂತರಿಸಲು ನಿಮಗೆ ಜೋಡಕದ ಅಗತ್ಯವಿದೆ. ನೀವು ಪ್ಯಾಸ್ಕಲ್ ಅಥವಾ ಸಿ ಯಲ್ಲಿ ಎಲ್ಲಾ ಪ್ರಾಚೀನ ನಿಯಮಗಳನ್ನು (ಸಿಡಿಎಲ್ ಪರಿಭಾಷೆಯಲ್ಲಿ ಮ್ಯಾಕ್ರೋಗಳು) ವಿವರಿಸಿದರೆ, ಸಿಡಿಎಲ್ ಕಂಪೈಲರ್ನ ನಂತರ ಚಲಾಯಿಸಲು ನಿಮಗೆ ಪ್ಯಾಸ್ಕಲ್ ಅಥವಾ ಸಿ ಕಂಪೈಲರ್ ಅಗತ್ಯವಿದೆ. ಸರಳವಾದ ಯಂತ್ರ ಸೂಚನಾ ಕಾರ್ಯಾಚರಣೆಗೆ ಸಹ ನೀವು ಕೋಡ್ನ ತುಣುಕನ್ನು ಬರೆಯಬೇಕಾದಾಗ ಕೋರ್ ಪ್ರಿಮಿಟಿವ್ಗಳ ಕೊರತೆಯು ತುಂಬಾ ನೋವುಂಟು ಮಾಡುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಮತ್ತೊಂದೆಡೆ, ವಿಲಕ್ಷಣ ಅಮೂರ್ತ ವಸ್ತುಗಳ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ನಿಗೂಢ, ಅಮೂರ್ತ ಪ್ರಾಚೀನ ಪದಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಲ್ಲಿ ಇದು ನಿಮಗೆ ಹೆಚ್ಚಿನ ನಮ್ಯತೆಯನ್ನು ನೀಡುತ್ತದೆ (ಸಿಡಿಎಲ್ನಲ್ಲಿನ 'ಯಂತ್ರ ಪದ' ವು 'ದತ್ತಾಂಶ ಸಂಗ್ರಹಣೆಯ ಘಟಕ' ದಂತೆ, ಅಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ದತ್ತಾಂಶದ ಬಗೆಗೆ ಯಾವುದೇ ಉಲ್ಲೇಖವಿಲ್ಲ). ಹೆಚ್ಚುವರಿಯಾಗಿ, ದೊಡ್ಡ ಯೋಜನೆಗಳು ಎಚ್ಚರಿಕೆಯಿಂದ ರಚಿಸಲಾದ ಪ್ರಾಚೀನ ಗ್ರಂಥಗಳ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬಳಸಿಕೊಂಡವು. ಇವುಗಳನ್ನು ನಂತರ ಪ್ರತಿ ಗುರಿ ವಾಸ್ತುಶಿಲ್ಪ ಮತ್ತು ಓಎಸ್ಗೆ ಪುನರಾವರ್ತಿಸಲಾಯಿತು, ಇದು ಎಲ್ಲರಿಗೂ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲು ಅನುವು ಮಾಡಿಕೊಟ್ಟಿತು. ಭಾಷೆಯ ಬಗ್ಗೆ ಒಂದು ಭಾವನೆಯನ್ನು ಪಡೆಯಲು, ಸಿಡಿಎಲ್2 ಕೈಪಿಡಿಯಿಂದ ಅಳವಡಿಸಿಕೊಂಡ ಒಂದು ಸಣ್ಣ ಕೋಡ್ ತುಣುಕು ಇಲ್ಲಿದೆಃ ಆಕ್ಶನ್ ಕ್ವಿಕ್ಸಾರ್ಟ್ +> +> ನಿಂದ-ಪಿ-ಕ್ಯೂಃ ಕಡಿಮೆ + ನಿಂದ + ಗೆ, ಸ್ಪ್ಲಿಟ್ + ನಿಂದ + ಗೆ + ಪಿ + ಕ್ಯೂ, ಕ್ವಿಕ್ಸಾರ್ಟ್ + ನಿಂದ + ಕ್ಯೂ, ಕ್ವಿಕ್ಸಾರ್ಟ್ + ಪಿ + ಗೆ; +. ಕ್ರಿಯೆ ವಿಭಜನೆ +> i +> j + p> + q>-m: ಮಾಡಿ + p + i, ಮಾಡಿ + q + j, ಸೇರಿಸಿ + i + j + m, ಅರ್ಧ + m, (ಮತ್ತೆಃ ಮೇಲಕ್ಕೆ ಸರಿಸಿ + j + p + m, ಕೆಳಕ್ಕೆ ಸರಿಸಿ + i + q + m, (ಕಡಿಮೆ + p + q, ಸ್ವಾಪ್ ಐಟಂ + p + q, ಇಂಕ್ರ್ + p, ಡೆಕ್ರ್ + q, * ಮತ್ತೆ; ಕಡಿಮೆ + p + m, ಸ್ವಾಪ್ ಐಟಂ + p + m, ಇಂಕ್ರ್ + p; ಕಡಿಮೆ + m + q, ಸ್ವಾಪ್ ಐಟಂ + q + m, ಡೆಕ್ರ್ + q; +). ಕಾರ್ಯವು +> ಜೆ +> ಪಿ> +> ಎಂಃ ಕಡಿಮೆ + ಜೆ + ಪಿ; ಸಣ್ಣ ಐಟಂ + ಎಂ + ಪಿ; ಇಂಕ್ರ್ + ಪಿ, *. ಕಾರ್ಯವು ಕೆಳಕ್ಕೆ ಸರಿಯುತ್ತದೆ +> i +> q> +> m: ಕಡಿಮೆ + q + j; ಸಣ್ಣ ವಸ್ತು + q + m; ಡೆಕ್ರ್ + q, *. ಟೆಸ್ಟ್ ಕಡಿಮೆ +> a +> b: = a "<" b. ಕಾರ್ಯವು + a> +> b: = a "=" b "ಅನ್ನು ಮಾಡುತ್ತದೆ. ಸಂಯೋಜನೆ +> a +> b + ಮೊತ್ತ>: = ಮೊತ್ತ = "a" + "b. ಫಂಕ್ಷನ್ ಅರ್ಧ +> a>: = a "/= 2". ಫಂಕ್ಷನ್ ಇಂಕ್ರ್ +> a>: = a "+ +". ಫಂಕ್ಷನ್ ಡೆಕ್ರ್ +> a>: = a "--". ಟೆಸ್ಟ್ ಚಿಕ್ಕ ಐಟಂ +> ಐ +> ಜೆಃ = "ಐಟಂಗಳು [" ಐ "] <ಐಟಂಗಳು [" ಜೆ "]". ಆಕ್ಶನ್ ಸ್ವಾಪ್ ಐಟಂಗಳು +> i +> j-t: = t "= ಐಟಂಗಳು [" i "]; ಐಟಂಗಳು [" i "] = ಐಟಂಗಳು [" j "]; ಐಟಂಗಳು [" j "] =" t. ಇಲ್ಲಿ ಪ್ರಾಚೀನ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಜಾವಾ (ಅಥವಾ C) ಪರಿಭಾಷೆಯಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ. ಇದು ಸಂಪೂರ್ಣ ಪ್ರೋಗ್ರಾಂ ಅಲ್ಲ; ನಾವು ಜಾವಾ ಅರೇ ಐಟಂಗಳನ್ನು ಬೇರೆಡೆ ವ್ಯಾಖ್ಯಾನಿಸಬೇಕು. 1976ರಲ್ಲಿ ಪ್ರಕಟವಾದ ಸಿ. ಡಿ. ಎಲ್. 2, ಸಿ. ಡಿ. ಎಲ್. 1ರ ತತ್ವಗಳನ್ನು ಉಳಿಸಿಕೊಂಡಿತು ಆದರೆ ಭಾಷೆಯನ್ನು ದೊಡ್ಡ ಯೋಜನೆಗಳಿಗೆ ಸೂಕ್ತವಾಗಿಸಿತು. ಇದು ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಪರಿಚಯಿಸಿತು, ದತ್ತಾಂಶ-ಬದಲಾವಣೆ-ಮಾತ್ರ-ಯಶಸ್ಸನ್ನು ಜಾರಿಗೊಳಿಸಿತು ಮತ್ತು ಭಾಷೆಯ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ವಿಸ್ತರಿಸಿತು. ಸಿ. ಡಿ. ಎಲ್. 2 ಕಂಪೈಲರ್ನಲ್ಲಿ ಮತ್ತು ವಿಶೇಷವಾಗಿ ಸಿ. ಡಿ. ಎಲ್. 2 ಪ್ರಯೋಗಾಲಯದಲ್ಲಿ (ಸಿ. ಡಿ. ಎಲ್. 2 ಗಾಗಿ ಐ. ಡಿ. ಇ) ಆಪ್ಟಿಮೈಜರ್ಗಳು ವಿಶ್ವ ದರ್ಜೆಯವು ಮತ್ತು ಕೇವಲ ಅವರ ಸಮಯಕ್ಕೆ ಮಾತ್ರವಲ್ಲ. ಸಿ. ಡಿ. ಎಲ್. 2 ಲ್ಯಾಬೋರೇಟರಿ ಆಪ್ಟಿಮೈಸರ್ನ ಒಂದು ವೈಶಿಷ್ಟ್ಯವು ಬಹುತೇಕ ವಿಶಿಷ್ಟವಾಗಿದೆಃ ಇದು ಸಂಕಲನ ಘಟಕಗಳಾದ್ಯಂತ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ಮಾಡಬಹುದು, ಅಂದರೆ, ಇಡೀ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಒಂದೇ ಸಂಕಲನವಾಗಿ ಪರಿಗಣಿಸುತ್ತದೆ. ಸಿಡಿಎಲ್3 ಅತ್ಯಂತ ಇತ್ತೀಚಿನ ಭಾಷೆಯಾಗಿದೆ. ಇದು ಹಿಂದಿನ ಸಿ. ಡಿ. ಎಲ್. ಆವೃತ್ತಿಗಳ ಮುಕ್ತ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಿಟ್ಟುಕೊಟ್ಟಿತು, ಮತ್ತು ಇದು ಮೂಲ ಅಂಕಗಣಿತ ಮತ್ತು ಶೇಖರಣಾ ಪ್ರವೇಶಕ್ಕೆ ಪೂರ್ವಭಾವಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಹಿಂದಿನ ಸಿ. ಡಿ. ಎಲ್. ಆವೃತ್ತಿಗಳ ಅತ್ಯಂತ ಶುದ್ಧ ವಾಕ್ಯರಚನೆಯನ್ನು (ಒಂದೇ ಅಂಕಿಯಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಕೀವರ್ಡ್ಗಳು ಮತ್ತು ಚಿಹ್ನೆಗಳ ಸಂಖ್ಯೆ) ಸಹ ಸಡಿಲಗೊಳಿಸಲಾಗಿದೆ. ಕೆಲವು ಮೂಲಭೂತ ಪರಿಕಲ್ಪನೆಗಳನ್ನು ಈಗ ಸ್ಪಷ್ಟ ಶಬ್ದಾರ್ಥದ ಬದಲು ವಾಕ್ಯರಚನೆಯಲ್ಲಿ ವ್ಯಕ್ತಪಡಿಸಲಾಗುತ್ತದೆ. ಇದರ ಜೊತೆಗೆ, ದತ್ತಾಂಶ ಪ್ರಕಾರಗಳನ್ನು ಭಾಷೆಗೆ ಪರಿಚಯಿಸಲಾಗಿದೆ. ವಾಣಿಜ್ಯ ಎಂ. ಬಿ. ಪಿ. ಕೋಬೋಲ್ (ಪಿಸಿಗಾಗಿ ಕೋಬೋಲ್ ಕಂಪೈಲರ್) ಮತ್ತು ಎಂಪ್ರೊಲೊಜಿ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸಿ (ಹಲವಾರು ವಿನ್ಯಾಸಗಳಲ್ಲಿ (ಐಬಿಎಂ ಮೇನ್ಫ್ರೇಮ್, ವಿಎಎಕ್ಸ್, ಪಿಡಿಪಿ-11, ಇಂಟೆಲ್ 8086, ಇತ್ಯಾದಿ) ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಕೈಗಾರಿಕಾ-ಸಾಮರ್ಥ್ಯದ ಪ್ರೋಲಾಗ್ ಅನುಷ್ಠಾನ). ಮತ್ತು OS-s (DOS/OS/CMS/BS2000, VMS/ಯುನಿಕ್ಸ್, DOS/ವಿಂಡೋಸ್/OS2). ಎರಡನೆಯದು, ನಿರ್ದಿಷ್ಟವಾಗಿ, ಸಿ. ಡಿ. ಎಲ್. 2ನ ಒಯ್ಯಬಲ್ಲಿಕೆಗೆ ಸಾಕ್ಷಿಯಾಗಿದೆ. ಸಿಡಿಎಲ್ನೊಂದಿಗೆ ಬರೆಯಲಾದ ಹೆಚ್ಚಿನ ಪ್ರೋಗ್ರಾಂಗಳು ಕಂಪೈಲರ್ಗಳಾಗಿದ್ದರೂ, ಕನಿಷ್ಠ ಒಂದು ವಾಣಿಜ್ಯ ಜಿಯುಐ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸಿಡಿಎಲ್ನಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ನಿರ್ವಹಿಸಲಾಗಿದೆ. ಈ ಅಪ್ಲಿಕೇಶನ್ ಈಗ ಡೆಂಟಲ್ ಇಮೇಜ್ ಅಕ್ವಿಸಿಷನ್ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿದ್ದು ಅದು ಡೆಕ್ಸಿಸ್ ಒಡೆತನದಲ್ಲಿದೆ. ದಂತ ಕಚೇರಿ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಯನ್ನು ಸಹ ಒಮ್ಮೆ ಸಿ. ಡಿ. ಎಲ್. ನಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಯಿತು. ಮೆಫಿಸ್ಟೊ III ಚದುರಂಗ ಗಣಕಯಂತ್ರದ ತಂತ್ರಾಂಶವನ್ನು ಸಿ. ಡಿ. ಎಲ್. 2 ನೊಂದಿಗೆ ಬರೆಯಲಾಗಿದೆ. ಸಿ. ಡಿ. ಎಲ್. 1/ಸಿ. ಡಿ. ಎಲ್. 2 ಭಾಷೆಯ ಕುರಿತಾದ ಒಂದು ಪುಸ್ತಕದ ವಿವರಣೆ ಸಿ. ಡಿ. ಎಲ್. 3 ಬೆಡೋ ಅರ್ಪಾಡ್ಃ ಪ್ರೋಗ್ರಾಮ್ಕ್ಜಿಟೆಸಿ ಮೋಡ್ಸೆರೆಕ್; ಕೋಜ್ಗಜ್ದಾಸಾಗಿ ಎಜ್ ಜೋಗಿ ಕೋನಿವ್ಕಿಯಾಡೋ, 1979. ಪಾರ್ಸರ್ ಜನರೇಟರ್ಗಳು ಕಂಪೈಲರ್ ನಿರ್ಮಾಣ ಔಪಚಾರಿಕ ಭಾಷೆಗಳು ಕಂಪೈಲರ್ ಸಿದ್ಧಾಂತ