ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ обСспСчиваСт ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ исходного языка сильно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ мощности, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ машинного языка. Π‘Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° исходного языка транслируСтся Π² 7-10 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π°ΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 100 ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ язык программирования ΠŸΡ€ΠΎΠ»ΠΎΠ³). Π’ исходных языках довольно часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ строгая типизация Π΄Π°Π½Π½Ρ‹Ρ…, которая осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΠΈΡ… ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ описаниС. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Ρ‚Π°ΠΊΠΈΡ… языках ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π½ΠΎ ΠΈ Π½Π° Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π΄ΡƒΠΌΡ‹Π²Π°Π½ΠΈΠ΅ структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ классов. Π’Π΅ΡΡŒ процСсс трансляции с Ρ‚Π°ΠΊΠΈΡ… языков программирования ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ называСтся компиляциСй, Π° исходныС языки ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ относятся ΠΊ языкам высокого уровня.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ (Π°Π½Π³Π». interpreter β€” ΠΈΡΡ‚ΠΎΠ»ΠΊΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, устный ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ) ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΠΈ выполняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ строка Π·Π° строкой.Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ компилятора, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π½Π΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° машинном языкС. Распознав ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ исходного языка, ΠΎΠ½ Ρ‚ΡƒΡ‚ ΠΆΠ΅ выполняСт Π΅Π΅. Как Π² компиляторах, Ρ‚Π°ΠΊ ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π°Π½Π°Π»ΠΈΠ·Π° исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Но ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ позволяСт Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… послС написания Π΄Π°ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, отсутствиС Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ машинного ΠΊΠΎΠ΄Π° позволяСт Π½Π΅ Β«Π·Π°Ρ…Π»Π°ΠΌΠ»ΡΡ‚ΡŒΒ» внСшниС устройства Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π° сам ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ½ΠΎ достаточно Π»Π΅Π³ΠΊΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊ Π»ΡŽΠ±Ρ‹ΠΌ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°ΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π² Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСнном языкС программирования. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки, Ρ‚ΠΈΠΏΠ° Java Script, VB Script, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС. НСдостатком ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² являСтся низкая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² 50-100 Ρ€Π°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π°Ρ….

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Врансляторы ΠΈ ΠΈΡ… Π²ΠΈΠ΄Ρ‹

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ тСкст, записанный Π½Π° языкС программирования, нСпонятСн ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, Ρ‚ΠΎ трСбуСтся пСрСвСсти Π΅Π³ΠΎ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π’Π°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с языка программирования Π½Π° язык ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² называСтся трансляциСй, Π° выполняСтся ΠΎΠ½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ – трансляторами.

Π’ настоящСС врСмя трансляторы Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Ρ‚Ρ€ΠΈ основныС Π³Ρ€ΡƒΠΏΠΏΡ‹: ассСмблСры, компиляторы ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹.

ВмСстС с Ρ‚Π΅ΠΌ, язык ассСмблСра, ΠΊΡ€ΠΎΠΌΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, содСрТит мноТСство Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ², ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ…, Π² частности, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСсурсами ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, написаниС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ², построСниС ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ языка Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ³Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ просто языка символичСского кодирования, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ программирования.

Эмуляторы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ достаточно часто Π² самых Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… цСлях. НапримСр, ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм, сначала создаСтся эмулятор, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ для Π΅Ρ‰Π΅ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Π­Ρ‚ΠΎ позволяСт ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ систСму ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π½Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ создано ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.

ΠžΡ‡Π΅Π½ΡŒ часто эмулятор ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выполнСния старых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π½ΠΎΠ²Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ высоким быстродСйствиСм ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ качСствСнноС ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅. Π­Ρ‚ΠΎ позволяСт ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ старыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ эффСктивно ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π½Π° старых ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ….

ΠœΠ°ΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈ с языками высокого уровня. Они ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности Ρ‚Π°ΠΊΠΈΡ… языков ΠΊΠ°ΠΊ PL/1, C, C++. ОсобСнно ΡˆΠΈΡ€ΠΎΠΊΠΎ макропроцСссоры ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² C ΠΈ C++, позволяя ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ написаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠœΠ°ΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Ρ‹ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ программирования Π±Π΅Π· измСнСния синтаксиса ΠΈ сСмантики языка.

Π›ΡŽΠ±ΠΎΠΉ транслятор выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ основныС Π·Π°Π΄Π°Ρ‡ΠΈ:

Β­- Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π² частности опрСдСляСт, содСрТит Π»ΠΈ ΠΎΠ½Π° синтаксичСскиС ошибки;

— Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (Π΅Π΅ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ) Π½Π° языкС ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄;

— распрСдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ компиляторы

ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. dark fb.4725bc4eebdb65ca23e89e212ea8a0ea. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-dark fb.4725bc4eebdb65ca23e89e212ea8a0ea. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dark fb.4725bc4eebdb65ca23e89e212ea8a0ea. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. dark vk.71a586ff1b2903f7f61b0a284beb079f. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-dark vk.71a586ff1b2903f7f61b0a284beb079f. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dark vk.71a586ff1b2903f7f61b0a284beb079f. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. dark twitter.51e15b08a51bdf794f88684782916cc0. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-dark twitter.51e15b08a51bdf794f88684782916cc0. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dark twitter.51e15b08a51bdf794f88684782916cc0. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. dark odnoklas.810a90026299a2be30475bf15c20af5b. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-dark odnoklas.810a90026299a2be30475bf15c20af5b. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° dark odnoklas.810a90026299a2be30475bf15c20af5b. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся.

ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. caret left.c509a6ae019403bf80f96bff00cd87cd. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-caret left.c509a6ae019403bf80f96bff00cd87cd. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° caret left.c509a6ae019403bf80f96bff00cd87cd. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся.

ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. caret right.6696d877b5de329b9afe170140b9f935. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-caret right.6696d877b5de329b9afe170140b9f935. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° caret right.6696d877b5de329b9afe170140b9f935. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся.

Врансляция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, прСдставлСнной Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· языков программирования, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС ΠΈ, Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ смыслС, Ρ€Π°Π²Π½ΠΎΡΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠΉ.

Π―Π·Ρ‹ΠΊ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ прСдставлСна входная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, называСтся исходным языком, Π° сама ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° β€” исходным ΠΊΠΎΠ΄ΠΎΠΌ.

Π’Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ дСлятся Π½Π° Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ компиляторы.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ нСбольшой Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ, лишь доТдавшись, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, транслируСт всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° языкС высокого уровня, ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π½Π΅ выполняя ΠΈΡ…; ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² дальнСйшСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих способов прСобразования ΠΈΠΌΠ΅Π΅Ρ‚ свои достоинства ΠΈ нСдостатки.

ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ быстрСС, Ρ‡Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅; ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ компилированная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π² дальнСйшСм компилятора, ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π½Π΅ приходится ΠΈΡΡ…ΠΈΡ‚Ρ€ΡΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° языках, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ присутствия Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ осущСствляСт Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ…ΠΎΠ΄Π΅ Π΅Π΅ выполнСния.

Благодаря построчной трансляции ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ трансляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½Ρ‹Ρ… частым измСнСниям; ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ сразу Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠŸΡ€ΠΈ использовании компилятора ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ приходится ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Как компилятор, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка высокого уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ΠΈ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚. Подобно Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ СстСствСнный язык, ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ программиста, указывая, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ слова ΠΈ символы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² языкС, ΠΏΡ€ΠΈ построСнии слоТных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ задавая ΠΏΡ€Π°Π²ΠΈΠ»Π° форматирования, Π² Ρ‚ΠΎΠΌ числС употрСблСния ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ Π·Π½Π°ΠΊΠΎΠ² ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΈ. Π’ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° являСтся основой прСобразования понятий исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

БистСмы программирования.

БистСмы программирования

БистСмой программирования Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ комплСкс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для кодирования, тСстирования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, это Π½Π°Π±ΠΎΡ€ спСциализированных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ срСдствами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

БистСма программирования, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹:

Β· транслятор с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ языка;

Β· ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ (Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ связСй);

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ любая систСма программирования ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ОБ, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½Π° ΠΈ создана, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡ€ΠΈ этом ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΈ ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ОБ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, подготовлСнная Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ языкС программирования, называСтся исходным ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ΠΈ прСдставляСт собой тСкстовый Ρ„Π°ΠΉΠ» с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ.

Врансляторы ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для прСобразования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° языках программирования, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС.

Π’ качСствС Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ трансляторы ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ исходныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ для Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° связСй.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ содСрТит тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ ΠΊΠ°ΠΊ настройку модуля ΠΏΠΎ мСсту Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΈ объСдинСниС этого модуля с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ нСзависимо оттранслированными модулями Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Врансляторы дСлятся Π½Π° Π΄Π²Π° класса: компиляторы ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ вСсь исходный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ исходного модуля ΠΈ сразу ΠΆΠ΅ выполняСт Π΅Π³ΠΎ.

БоотвСтствСнно говорят ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языках программирования.

Π—Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚:

Β· пошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ€Π΅ΠΆΠΈΠΌ трассировки) с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²,

Β· остановка Π² Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡ΠΊΠ°Ρ…,

Β· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ остановки Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ условия;

Β· ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ находящиСся Π² Π΅Π³ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΈΡ… Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Π΅ адрСсныС константы с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ фактичСского адрСса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° созданной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ соврСмСнных систСм программирования ΡΠ²Π»ΡΡŽΡ‚ΡΡ систСмы программирования

Microsoft Visual Basic,

Microsoft Visual C ++

ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ свСдСния ΠΎ компиляции

ИмСнно характСристики компилятора, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅ΠΌΡ‹Ρ… систСмой программирования.

ΠšΡ€ΠΎΠΌΠ΅ основного компилятора, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ систСм программирования ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² своСм составС Ρ†Π΅Π»Ρ‹ΠΉ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… компиляторов. Π’Π°ΠΊ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ систСм содСрТат компилятор с языка Assembler ΠΈ компилятор с Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка описания рСсурсов. Но ΠΎΠ½ΠΈ Ρ€Π΅Π΄ΠΊΠΎ нСпосрСдствСнно Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΈ понятия.

Вранслятор – это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π²Ρ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° исходном (Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌ) языкС Π² ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΡƒΡŽ Π΅ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ (Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΌ) языкС.

Π‘Π»ΠΈΠ·ΠΊΠΎ ΠΏΠΎ смыслу ΠΊ этому ΠΏΠΎΠ½ΡΡ‚ΠΈΡŽ понятиС компилятор.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ – это транслятор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ осущСствляСт ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΡƒΡŽ Π΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° языкС ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ языкС ассСмблСра.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, компилятор отличаСтся ΠΎΡ‚ транслятора Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° языкС ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ языкС ассСмблСра. Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° транслятора Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ написана Π½Π° любом языкС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, транслятор с языка Pascal Π½Π° язык Π‘).

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, компиляторы – это Π²ΠΈΠ΄ трансляторов.

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ понятиС Β«ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Β».

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ – это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая воспринимаСт Π²Ρ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° исходном языкС ΠΈ выполняСт Π΅Π΅. (Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π½Π΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°.)

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ (Ρ„Π°Π·Ρ‹) компилятора, ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, написанная Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ языкС программирования, Π΅ΡΡ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° Π·Π½Π°ΠΊΠΎΠ². ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ эту Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π·Π½Π°ΠΊΠΎΠ² Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π±ΠΈΡ‚ΠΎΠ² – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π’ процСссС компиляции ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ подпроцСссы (Π±Π»ΠΎΠΊΠΈ, этапы).

1. ЛСксичСский Π°Π½Π°Π»ΠΈΠ·.

2. Π Π°Π±ΠΎΡ‚Π° с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ.

3. БинтаксичСский Π°Π½Π°Π»ΠΈΠ·, ΠΈΠ»ΠΈ Ρ€Π°Π·Π±ΠΎΡ€.

4. ГСнСрация ΠΊΠΎΠ΄Π°, ΠΈΠ»ΠΈ трансляция Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, языка ассСмблСр).

5. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π°.

6. ГСнСрация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… компиляторах порядок ΠΌΠΎΠΆΠ΅Ρ‚ нСсколько ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ Π² ΠΎΠ΄ΠΈΠ½. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ компиляторС Π±Π»ΠΎΠΊΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹.

ЛСксичСский Π°Π½Π°Π»ΠΈΠ·

Π’Ρ…ΠΎΠ΄ΠΎΠΌ являСтся Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° символов Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°.

НСкоторыС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ символов Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ – лСксСмы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, числовыС константы).

Π Π°Π±ΠΎΡ‚Π° лСксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ символы Π² Π΅Π΄ΠΈΠ½Ρ‹Π΅ синтаксичСскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ – лСксСмы.

Π’Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ являСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ лСксСм.

НапримСр, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ лСксичСского Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ символов

с ost:= (price + tax) * 0.98

Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ

Π Π°Π±ΠΎΡ‚Π° с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ лСксСмах собираСтся ΠΈ записываСтся Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько Ρ‚Π°Π±Π»ΠΈΡ†, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²ΠΈΠ΄Π΅ списка лСксСм ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π½ΠΈΡ….

БинтаксичСский Π°Π½Π°Π»ΠΈΠ·

Π’Ρ…ΠΎΠ΄ – Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° лСксСм.

На этом этапС исслСдуСтся Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° лСксСм ΠΈ устанавливаСтся, удовлСтворяСт Π»ΠΈ ΠΎΠ½Π° структурным условиям, явно сформулированным Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ синтаксиса языка.

Π’Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° являСтся Π΄Π΅Ρ€Π΅Π²ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру, ΠΏΡ€ΠΈΡΡƒΡ‰ΡƒΡŽ исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ГСнСрация ΠΊΠΎΠ΄Π°

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° машинном языкС, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ осущСствляСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ язык (ассСмблСр).

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ‡Π°Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ строится ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ, ΠΈ ΠΊΠΎΠ΄.

БущСствуСт нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² построСния ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎ синтаксичСскому Π΄Π΅Ρ€Π΅Π²Ρƒ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΈΠ· Π½ΠΈΡ… являСтся синтаксичСски управляСмый ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ (трансляция).

На Π΄Π²ΡƒΡ… этапах – синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π² Π½Π°Ρ‡Π°Π»Π΅ этапа ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° – выполняСтся сСмантичСский Π°Π½Π°Π»ΠΈΠ·. БСмантичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ провСряСт сСмантичСскиС соглашСния Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка, провСряСт элСмСнтарныС сСмантичСскиС (смысловыС) Π½ΠΎΡ€ΠΌΡ‹ языков программирования, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π΅ связанных с Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ языком; дополняСт Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ прСдставлСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² компиляторС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ дСйствиями, нСявно прСдусмотрСнными сСмантикой Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π°

На этом этапС производится ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ эффСктивными (Ρ‚.Π΅. быстрСС Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ).

Π’Π°ΠΊ, для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ участок ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ бСсполСзных присваиваний, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, пСрСстановка ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, арифмСтичСскиС прСобразования.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° являСтся оптимизация вычислСния логичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (Π½Π΅ всСгда ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ вычислСниС всСго выраТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ всСго выраТСния).

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· стСк Π½Π΅ являСтся эффСктивным, Ссли Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нСслоТныС вычислСния Π½Π°Π΄ нСбольшим количСством ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (всякий Ρ€Π°Π· ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ компилятор создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для размСщСния фактичСских ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² стСкС, Π° ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ – ΠΊΠΎΠ΄ для освобоТдСния ячССк). Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· рСгистры Π»ΠΈΠ±ΠΎ подстановкой ΠΊΠΎΠ΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹: вынСсСниС ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½Ρ‹Ρ… вычислСний ΠΈΠ· Ρ†ΠΈΠΊΠ»ΠΎΠ² (вынСсСниС Ρ‚Π΅Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ); Π·Π°ΠΌΠ΅Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΈΠ½Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ слоТных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² процСссС выполнСния Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π΅ΡΡΠΈΡŽ, Π½Π° Π±ΠΎΠ»Π΅Π΅ простыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ); слияниС ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»ΠΎΠ² (слияниС Π΄Π²ΡƒΡ… Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ ΠΈ Π·Π°ΠΌΠ΅Π½Π° Ρ†ΠΈΠΊΠ»Π° Π½Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ).

ГСнСрация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

ПослСдний Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ этап. ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… прСдлоТСния Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ тСкст Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ случаС отсутствия синтаксичСских ошибок (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ осущСствлСн ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ) систСма программирования сообщаСт ΠΎΠ± этом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ для продолТСния Ρ€Π°Π±ΠΎΡ‚Ρ‹:

Compile successful. Press any key.

Если ошибка ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π°, систСма сообщаСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ошибки ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ курсором Ρ‚Ρƒ строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° ошибка (ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку послС ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠΉ). Π’ этом случаС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ снова Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ компиляции.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π£Ρ€ΠΎΠΊ 15
БистСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. БистСмы программирования
Β§40. БистСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. Β§41. БистСмы программирования

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡƒΡ€ΠΎΠΊΠ°

Β§40. БистСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС
Β§41. БистСмы программирования

Врансляторы

Β§41. БистСмы программирования

Врансляторы

Основа любой систСмы программирования β€” транслятор.

ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. galochka znak2. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-galochka znak2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° galochka znak2. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся.Вранслятор β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ тСксты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° языкС высокого уровня.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° трансляторов: ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ компиляторы.

ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. galochka znak1. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-galochka znak1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° galochka znak1. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся.Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ частям. Π Π°Π·ΠΎΠ±Ρ€Π°Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚, ΠΎΠ½ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ выполняСт описанныС Π² Π½Π΅ΠΌ дСйствия ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°.

Достоинства ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ²:

β€’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ пСрСносимы (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² любой систСмС, Π³Π΄Π΅ установлСна ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°-ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€);
β€’ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π•ΡΡ‚ΡŒ ΠΈ сущСствСнныС нСдостатки.

β€’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Ссли Π½Π΅ установлСн ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€;
β€’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ (Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈΠ· 100 шагов каТдая строчка 100 Ρ€Π°Π· «разбираСтся» ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ);
β€’ Π² Ρ‚Π΅Ρ… частях ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π²ΠΎ врСмя ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ синтаксичСскиС ошибки.

ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. galochka znak1. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-galochka znak1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° galochka znak1. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся.Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΈΠΏ трансляторов β€” компиляторы. Они, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ², сразу пСрСводят всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ строят исполняСмый Ρ„Π°ΠΉΠ», Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ запуску.

Достоинства компиляторов:

β€’ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ транслятор;
β€’ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹, ΠΎΠ½Π° выполняСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ использовании ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

НСдостатки Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ:

1 МногиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ для ОБ Windows, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ Π² Linux с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Wine (www.winehq.org).

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ достоинства ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ компиляторов, Π±Ρ‹Π»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° идСя компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ исполняСмый ΠΊΠΎΠ΄ (псСвдокод, P-ΠΊΠΎΠ΄), Π° Π½Π΅ сразу Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСссора. Для выполнСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ псСвдокода Π½ΡƒΠΆΠ½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ срСда β€” Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ для любого процСссора ΠΈ любой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сначала обрабатываСтся компилятором, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ строит псСвдокод, Π° ΠΏΠΎΡ‚ΠΎΠΌ этот псСвдокод выполняСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ,

β€’ ΠΏΡ€ΠΈ компиляции Π² псСвдокод ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ всС синтаксичСскиС ошибки, поэтому ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ; это Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² сравнСнии с ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ;
β€’ обСспСчиваСтся ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ β€” ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (псСвдокод) Π½Π° любом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина.

ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. galochka znak1. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-galochka znak1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° galochka znak1. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся.Π‘Π°ΠΉΡ‚-ΠΊΠΎΠ΄ β€” это Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ псСвдокода, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 1 Π±Π°ΠΉΡ‚, Π° Π΄Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π΅Ρ‘ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ (ΠΈΠ»ΠΈ ΠΈΡ… адрСса). Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ вСрсии ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков Perl, РНР, Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ для ускорСния выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, поэтому для ΠΈΡ… выполнСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Java-ΠΌΠ°ΡˆΠΈΠ½Ρƒ. ΠŸΡ€ΠΈ этом для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ JIT-компиляция (Π°Π½Π³Π». JIT β€” just-in-time β€” Π² это самоС врСмя), ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ» прСобразуСтся Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСссора. Π’ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ трансляция ΡƒΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½Π°.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ страница ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. smotri 1. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-smotri 1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° smotri 1. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся.Бостав систСмы программирования

CΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΡƒΡ€ΠΎΠΊΠ°
ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. skachat. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы Ρ„ΠΎΡ‚ΠΎ. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы-skachat. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΈ компиляторы. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° skachat. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ (Π°Π½Π³Π». compiler β€” ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒ) Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ создаСт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° машинном языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΈ выполняСтся.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *