ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² структурно логичСской схСмы микропроцСссора

ΠšΡƒΡ€Ρ Π»Π΅ΠΊΡ†ΠΈΠΉΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Нисходящий Ρ€Π°Π·Π±ΠΎΡ€ — синтаксичСскоС Π΄Π΅Ρ€Π΅Π²ΠΎ строится ΠΎΡ‚ ΠΊΠΎΡ€Π½Ρ ΠΊ Π»ΠΈΡΡ‚ΡŒΡΠΌ, Π΅Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π΅Ρ€Ρ‚Π° являСтся Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡΡΡŒ ΠΎΡ‚ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа языка, ΠΌΡ‹ ΡΡ‚рСмимся Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π°ΠΊΡƒΡŽ подстановку, которая Π±Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ Ρ‡Π°ΡΡ‚ΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов. ДостигаСтся это ΠΏΡƒΡ‚Π΅ΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π’ ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡ€Π°Π²ΠΈΠ» подстановкС отыскиваСтся ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² структурно логичСской схСмы микропроцСссора (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎ логичСской схСмы МП

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

АдрСсная шина

АдрСсная шина Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ, Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΡƒΡŽ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ адрСса Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹.

Π¨ΠΈΠ½Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΡˆΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Π΄Π»ΠΈΠ½ΠΎΠΉ Π±Π°ΠΉΡ‚. Π’ ΡΠ»ΡƒΡ‡Π°ΠΈ, ΠΊΠΎΠ³Π΄Π° всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ, ΠΎΠ½Π° совпадаСт с ΠΎΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ словом.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ счСтчик — содСрТит адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ выполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. АвтоматичСски ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ.

РСгистр ΠΊΠΎΠΌΠ°Π½Π΄ (IR) — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄.

Π”Π΅ΡˆΠΈΡ„Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Ρ‡Ρ‚ΠΎ это Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°.

Π‘Π»ΠΎΠΊ управлСния ΠΈ ΡΠΈΠ½Ρ…ронизация — выполняСт ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ микропроцСссором.

DAK — рСгистр Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π΄Ρ€Π΅ΡΠ°.

Π ΠΎΠ½Ρ‹ — рСгистры ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния.

Π Π΅ΠΆΠΈΠΌΡ‹ адрСсации

АдрСс ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ (адрСс ячСйки памяти ΠΈΠ»ΠΈ рСгистра) с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡŽΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ сообраТСниями.

ИсполнСниС ΠΊΠΎΠΌΠ°Π½Π΄ с Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ адрСсом.

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ простого доступа ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ памяти.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ измСнСния содСрТимого адрСсной части Π±Π΅Π· измСнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ быстрой адрСсации.

Использования Π±ΠΎΠ»Π΅Π΅ простого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° адрСсации Π²ΠΎ ΠΈΠ·Π±Π΅Π³Π°Π½ΠΈΡ ошибок.

ΠŸΡ€ΡΠΌΠ°Ρ адрСсация ADD B — Π² ΠΏΡ€ΡΠΌΠΎΠΉ адрСсации адрСс ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π”Π»ΠΈΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ зависит ΠΎΡ‚ Π°Π΄Ρ€Π΅ΡΠ°.

ΠŸΡ€ΡΠΌΠ°Ρ рСгистровая — мСсто адрСса ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ хранится Π½ΠΎΠΌΠ΅Ρ€ рСгистра.

КосвСнная адрСсация — адрСс ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ находится ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΡƒ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

КосвСнно рСгистровая — адрСс ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ находится ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΡƒ рСгистра.

НСпосрСдствСнная адрСсация — ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ — АдрСс ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ формируСтся ΠΏΡƒΡ‚Π΅ΠΌ слоТСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ счСтчика ΠΈ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ находится Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

ИндСксная адрСсация — адрСс ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ образуСтся ΠΏΡƒΡ‚Π΅ΠΌ слоТСния индСксного рСгистра с Π°Π΄Ρ€Π΅ΡΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

Базовая адрСсация — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ пСрСмСщСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ. Для этого ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ псСвдо ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая закрСпляСт ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΎΠ² Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ. Π’ ΡΡ‚ΠΎΡ‚ рСгистр записываСтся адрСс Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ адрСса Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ.

АдрСсация с Π°Π²Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ΠΌ — примСняСтся для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ². ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ»ΠΈ послС, содСрТимоС рСгистров, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находился ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ увСличиваСтся ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.

БтСковая — адрСсом Π΄Π°Π½Π½Ρ‹Ρ… являСтся содСрТимоС указатСля стСков.

БистСма ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΈΠΊΡ€ΠΎ процСссора.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ микропроцСссора Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΎΡ‚ 1 Π±Π°ΠΉΡ‚Π° Π΄ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄Π»Π΅Π½Ρ‹.

1 Π±Π°ΠΉΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ содСрТит ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΈ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅. Π’Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ это

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

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ — количСство Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ минимальной.

БистСма ΠΊΠΎΠΌΠ°Π½Π΄ микропроцСссора ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ пСрСсылки ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° источника ΠΊ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρƒ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°, Π±Π΅Π· ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΡ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Сля.

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ — слоТСниС Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅.

ЛогичСскиС — ΠΈ, ΠΈΠ»ΠΈ, Π½Π΅.

Π‘Π΄Π²ΠΈΠ³.

УсловныС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹.

ИзмСнСниС содСрТимого рСгистра ΠΊΠΎΠ΄Π° условий (Ρ„Π»Π°ΠΆΠΊΠΈ).

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΎΠ΄Π°, Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ ΠΎΡΡ‚Π°Π½ΠΎΠ²Π°.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни зависит ΠΎΡ‚ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… адрСсаций.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄ слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ особСнности:

1 Π’ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пСрСмСнная Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π­Ρ‚ΠΎ позволяСт ΠΏΠ»ΠΎΡ‚Π½Π΅Π΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ число Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΈΡ… Π΄Π»ΠΈΠ½Ρƒ.

МаксимальноС количСство ΠΊΠΎΠΌΠ°Π½Π΄ 256.

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π° с ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠΉ адрСсациСй Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ смСщСния, Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ

RI 0

RI 1

RI 2

Команда с Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎΠΉ адрСсациСй — Π΄Π»ΠΈΠ½Π° нСпосрСдствСнного ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ 1 Π±Π°ΠΉΡ‚.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ мСсто полоТСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ источник, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ.

НСкоторыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅.

Описания языка АссСмблСра (2809_07)

АссСмблСр — машинно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ, Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊ Π½ΡƒΠ»ΡŽ (псСвдо ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΡƒ, Π»ΠΈΠ½ΠΊΠΎΠ²Ρ‰ΠΈΠΊΡƒ). АссСмблСр Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ рСсурсы Π­Π’Πœ. Π’ ΠΎΠ±Ρ‰ΠΈΠΌ Π²ΠΈΠ΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ассСмблСра выглядят Ρ‚Π°ΠΊ: ΠΌΠ΅Ρ‚ΠΊΠ°, ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, [ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹], [ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ], ΠΈΠ»ΠΈ [ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ коммСнтария].

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ассСмблСра:

Π Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹ΠΉ ассСмблСр — ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая хранится Π² ΠŸΠ—Π£ ΠΈ ΠΊ Π½Π΅ΠΉ имССтся постоянная доступ. ΠšΡ€ΠΎΡΡ ассСмблСр — выполняСтся Π½Π° Π­Π’Πœ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования этого Π­Π’Πœ. Достоинства — Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ тСхничСской Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ мощная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π­ΠœΠ’. Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ языка ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΠΊΠ°, обСспСчиваСтся прСимущСства ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ языка ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΠΊΠΈ.

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

ΠžΠ΄Π½ΠΎΠΏΡ€ΠΎΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π΄Π²ΡƒΡ…ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π½Ρ‹Π΅ — Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π° ΠΎΠ΄ΠΈΠ½ просмотр прСпятствуСт ссылки Π² ΠΏΠ΅Ρ€Π΅Π΄, Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния. АссСмблСр Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ сразу ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ адрСс ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. БущСствуСт Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° построСния однопросмотровых ассСмблСров:

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

АссСмблСр строит Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ². ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ обращСния Π² ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ косвСнно, Ρ‡Π΅Ρ€Π΅Π· эту Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

Достоинством однопросмотрового ассСмблСра являСтся Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π² ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ ассСмблирования. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ассСмблСров соврСмСнных Π­Π’Πœ двухпросмотровыС. ЦСлью ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ просмотра являСтся опрСдСлСния адрСса для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ Ρ„ормирования символичСских ΠΈΠΌΠ΅Π½ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠΊ. ЦСлью Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° являСтся гСнСрация ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ констант, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° псСвдо ΠΊΠΎΠΌΠ°Π½Π΄, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ распСчатка листинга.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ АссСмблСра

БинтаксичСский Π°Π½Π°Π»ΠΈΠ· исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

РаспрСдСлСния памяти (назначСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… адрСсов) для ΠΊΠΎΠΌΠ°Π½Π΄, констант, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ².

Врансляции исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Ѐормирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°, Π»ΠΈΠ½ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ°.

Ѐормирования листинга ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для формирования просмотра.

Π€Π°ΠΉΠ» исходного тСкста

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ счСтчика.

Π’Π°Π±Π»ΠΈΡ†Π° ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π”Π»ΠΈΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π’Π°Π±Π»ΠΈΡ†Π° псСвдоопСраций.

Π’Π°Π±Π»ΠΈΡ†Π° ΠΈΠΌΠ΅Π½ (ΠΌΠ΅Ρ‚ΠΎΠΊ).

Π’Π°Π±Π»ΠΈΡ†Π° Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ².

Π’Π°Π±Π»ΠΈΡ†Π° Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΈΠΌΠ΅Π½.

Π’Π°Π±Π»ΠΈΡ†Π° Π²Ρ…ΠΎΠ΄ΠΎΠ².

ЛСкция (510_07)

Машино зависимыС части ассСмблСра:

Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄

Π Π΅ΠΆΠΈΠΌΡ‹ адрСсации ΠΈΠ»ΠΈ способы адрСсации

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅.

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

КосвСнная адрСсация — для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ косвСнной адрСсации ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся прСфикс.

НСпосрСдствСнного ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°

Для Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² — позволяСт ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ прСдлоТСния для опрСдСлСния константы ΠΈ ΡΠΎΠΎΡ‚вСтствСнно Π΅Π³ΠΎ имя. Π’Π°Π±Π»ΠΈΡ†Π° Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² записываСтся послС Ρ‚Π΅Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

БрСдства ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ значСния.

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ассСмблСров Π½Π° Ρ€ΡΠ΄Ρƒ с ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ выраТСния. КаТдоС Ρ‚Π°ΠΊΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ вычисляСтся ассСмблСром Π²ΠΎ Π²Ρ€Π΅ΠΌΡ трансляции, Π° Π·Π° Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ адрСса ΠΈΠ»ΠΈ нСпосрСдствСнного ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ — ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ассСмблСры ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π³ΠΈΠ±ΠΊΠΈΠ΅ срСдства ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ исходных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ сгСнСрированныС ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΡ‚ ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ. Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ нСзависимыС части ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ сСкции. КаТдая ΠΈΠ· ΡΡ‚ΠΈΡ… частСй сохраняСт свою ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚ываСтся Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°Π·Π΅ своСй Ρ€Π°Π±ΠΎΡ‚Π΅, ассСмблСр Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ устройства Π²Ρ‹Π²ΠΎΠ΄Π°. ПослС этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° помСщаСтся Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ 3 основныС процСсса:

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° — обСспСчиваСт Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти для исполнСния. Π­Ρ‚ΠΎ систСмная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ Ρ‚радиционная систСма.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ — позволяСт ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ с Π°Π΄Ρ€Π΅ΡΠ°, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ.

БвязываниС — обСспСчиваСт объСдинСниС Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎ транслированных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚авляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ссылок ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Ρ‹Π»Π° пСрСмСщаСмая ΠΈ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ всС внСшниС ссылки, Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π°Π»ΠΎΠΆΠ΅Π½Π° информация.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π—Π°ΠΏΠΈΡΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ.

— // - 2−7 — имя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

— // - 8−13 — Π½Π°Ρ‡Π°Π»Π° адрСса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

— // - 14−19 — Π΄Π»ΠΈΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π±Π°ΠΉΡ‚Π°Ρ…

Π’Π΅Π»ΠΎ. ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π’.

— // - 2−7 — ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс Π² Π΄Π°Π½Π½ΠΎΠΉ записи.

— // - 8−9 — Π΄Π»ΠΈΠ½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записи

— // - 10−69 — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

Π—Π°ΠΏΠΈΡΡŒ — ΠΊΠΎΠ½Π΅Ρ†

— // - 2−7 — адрСс ΠΏΠ΅Ρ€Π²ΠΎΠΉ исполняСмой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Если Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ассСмблСра ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ, Ρ‚ΠΎ Π΄Π»Ρ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ пСрСмСщСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ассСмблСра. Π—Π°ΠΏΠΈΡΡŒ Π² ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΊΠ°ΠΊ для пСрСмСщСния Ρ‚Π°ΠΊ ΠΈ Π΄Π»Ρ связок. Он ΡΠΎΡΡ‚ΠΎΠΈΡ‚ ΠΈΠ·:

ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ М

— // - 2−7 — Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

— // - 8−9 — Π΄Π»ΠΈΠ½Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ поля Π² ΠΏΠΎΠ»ΡƒΠ±Π°ΠΉΡ‚Π°Ρ…

— // - 10 — ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

— // - 11 — 16 — внСшнСС имя

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выдСляСт всС адрСса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ адрСса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Однако такая схСма годится Π½Π΅ Π΄Π»Ρ всСх машин, Ссли Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΡ€ΡΠΌΡƒΡŽ Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ ΠΈ Ρ„иксированный ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ для пСрСмСщСния Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большого увСличСния объСма памяти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ЛСкция (1210_07)

2 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ — использованиС маски. Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ словом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, связываСтся Π² Ρ€Π°Π·Ρ€ΡΠ΄ пСрСмСщСния. Π­Ρ‚ΠΈ разряды ΠΎΠ±Ρ€Π°Π·ΡƒΡŽ вмСстС маску, которая записываСтся сразу послС Π΄Π»ΠΈΠ½Ρ‹ Ρ‚Π΅Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи.

3 способ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ пСрСмСщСния. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π­Π’Πœ пСрСмСщСния организуСтся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ базовая адрСсация — Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс + смСщСниС.

4 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Π›ΡŽΠ±ΠΎΠΉ адрСс высчитываСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ сСкция — Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, послС ассСмблирования сохраняСт свою ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ нСзависимо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π’Π°ΠΊ ΠΊΠ°ΠΊ эти части логичСски связанны ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ связывания ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. Π§Π°Ρ‰Π΅ всСго ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ сСкциСй выступаСт ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° функция. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ сСкции Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, располоТСнных Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… сСкциях. Бсылки нСльзя ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π£Π‘ загруТаСтся ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся нСзависимо Π΄ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΈ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ внСшнСй ссылкС ассСмблСр Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, которая Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ связываниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ИмСна ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ сСкции ΠΌΠΎΠ³ΡƒΡ‚ нСпосрСдствСнно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСкции. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ смог ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ описаны ΠΊΠ°ΠΊ внСшниС ΠΈΠΌΠ΅Π½Π°.

Π—Π°ΠΏΠΈΡΡŒ опрСдСлСния — Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 1 D

— // - 2−7 — ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ внСшнСго ΠΈΠΌΠ΅Π½ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄Π°Π½Π½ΠΎΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ сСкциСй.

— // - 8−13 — ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСс ΠΈΠΌΠ΅Π½ΠΈ

Π—Π°ΠΏΠΈΡΡŒ ссылка — столбСц 1 R

— // - 2−7 — ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ внСшнСго ΠΈΠΌΠ΅Π½ΠΈ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ сСкции ΠΈ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Copy start 0

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ построСния Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ² ;

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ — записываСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ управлСния Π½Π° Π°Π΄Ρ€Π΅Ρ Π΅Π΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.

Π‘Π²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ — Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ для ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ссылок. БвязываниС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ адрСса для всСх Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈΠΌΠ΅Π½. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ выполняСт Π΄Π²Π° просмотра Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ просмотра. Π’ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ адрСса всСх Π²Π½Π΅ΡˆΠ½ΠΈΡ… ссылок. Π’ΠΎ Π²Ρ€Π΅ΠΌΡ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ выполняСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° пСрСмСщСния связываниС.

ЛСкция (1910_07)

Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ связи.

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ связи ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для языков высокого уровня.

ДинамичСскиС Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΈ

БвязываниС откладываСтся Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΡΡ‚ΠΎΠΌ случаи Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΡΠ²ΡΠ·Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ осущСствляСтся Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° происходит ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… систСмах.

Π Π°ΡΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ рСкурсии, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСт свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ.

ΠœΠ°ΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€

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

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ макропроцСсса.

Основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ — Π·Π°ΠΌΠ΅Π½Π° ΠΎΠ΄Π½ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ символов Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Вопросы трансляции ΠΈΡ… Π² ΠΊΠΎΠ΄Ρ‹ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ нСпосрСдствСнного ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ ΠΏΡ€ΠΎΡ†Π΅ΡΡΡƒ ΠΌΠ°ΠΊΡ€ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ макропроцСссора практичСски Π½Π΅ ΡΠ²ΡΠ·Π°Π½ со ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΎΠΉ машин. Π›ΡŽΠ±ΠΎΠΉ процСссор ΠΌΠ°ΠΊΡ€ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ 4 основныС Π·Π°Π΄Π°Ρ‡ΠΈ.

РаспознаваниС ΠΌΠ°ΠΊΡ€ΠΎ опрСдСлСния. Π—Π°Π΄Π°Ρ‡Π° услоТняСтся Ссли Π² Π½ΡƒΡ‚Ρ€ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ°ΠΊΡ€ΠΎ опрСдСлСния.

Запоминания ΠΌΠ°ΠΊΡ€ΠΎ опрСдСлСния.

Π Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΡ€ΠΎ Π²Ρ‹Π·ΠΎΠ²Ρ‹, прСдставлСны Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ мнСмоничСского ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΌΠ°ΠΊΡ€ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄, постановку, ΠΈ ΠΏΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΡƒ фактичСских ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

ПослС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ°ΠΊΡ€ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° для ассСмблСра.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ построСния макропроцСссоров

ΠžΠ΄Π½ΠΎΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ²Ρ‹ΠΉ

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

Π’Π°Π±Π»ΠΈΡ†Π° фактичСских ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

ΠœΠ°ΠΊΡ€ΠΎ процСссоры ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния.

Они Π½Π΅ Π·Π°Π²ΠΈΡΡΡ‚ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка программирования.

Достоинства: ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков. ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для изучСния.

Π Π°ΡΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ макропроцСссоры.

ДопускаСт Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ², сколько Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ исходный тСкст.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ компиляции.

Π―Π·Ρ‹ΠΊΠΈ высокого уровня появились Π² ΠΊΠΎΠ½Ρ†Π΅ 50 Π½Π°Ρ‡Π°Π»ΠΎ 60 Π³ΠΎΠ΄ΠΎΠ², Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π€ΠΎΡ€Ρ‚Ρ€Π°Π½, Алгол. ПозТС Паскаль, Π‘ΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° которая транслируСт Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ высокого уровня Π² ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄) Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ компилятором. Π”Π²Π° компилятора, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ язык, Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ машинС, ΠΌΠΎΠ³ΡƒΡ‚ отличатся хотя Π±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ прСслСдовали Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ†Π΅Π»ΠΈ ΠΏΡ€ΠΈ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ.

ЦСль:

1. получСния эффСктивного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

2. ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компилирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

4. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° компилятора минимального Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

5. Боздания компилятора ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ возмоТностями обнаруТСния ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ ошибки.

6. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ надСТности компилятора.

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

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, часто Π±Ρ‹Π²Π°Π΅Ρ‚ Π»Π΅Π³Ρ‡Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ВСрсия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π½Π΅ Ρ€Π΅Π΄ΠΊΠΎ оказываСтся ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π΅ΠΉ, Ρ‡Π΅ΠΌ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ компилятор.

ИзмСнСниС части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ пСрСкомпиляции всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

НСдостатки:

ΠœΠ΅Π΄Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ΠžΠ±Ρ‰Π°Ρ схСма ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ языков высокого уровня

ΠžΠ±Ρ‰Π°Ρ структура компилятора

Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π―Π’Π£

ЛСкция (111_07)

ЛСксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ — прСдставляСт собой ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ„Π°Π·Ρƒ компилятора. Π•Π³ΠΎ основная Π·Π°Π΄Π°Ρ‡Π° состоит Π² Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… символов ΠΈ Π²Ρ‹Π΄Π°Ρ‡ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ лСксСм. Π—Π°ΠΌΠ΅Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ символами фиксированной Π΄Π»ΠΈΠ½Ρ‹. Π‘ Ρ‚СорСтичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния лСксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ компилятора. ВсС Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ выполнятся Π½Π° ΡΡ‚Π°ΠΏΠ΅ синтаксичСского Ρ€Π°Π·Π±ΠΎΡ€Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ синтаксисом Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка. Однако сущСствуСт нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ состав практичСски всСх компиляторов Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ лСксичСский Π°Π½Π°Π»ΠΈΠ·.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ лСксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ‚Скстом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π·Π° ΡΡ‡Π΅Ρ‚ удалСния ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ символов Π½Π΅ Π½Π΅ΡΡƒΡ‰ΠΈΡ… смысловой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

УвСличСния эффСктивности компилятора. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ€Π°Π·Π±ΠΎΡ€ Π΅Π΅ Π½Π° Π»Π΅ΠΊΡΠ΅ΠΌΡ‹ тратится ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ лСксСм ΠΌΠΎΠ³ΡƒΡ‚ сущСствСнно ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ компилятора.

УвСличСния пСрСносимости компилятора.

ЛСксСма — минимальная Π΅Π΄ΠΈΠ½ΠΈΡ†Π° языка. Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Π―Π’Π£ прСдставляСт собой Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ образуя ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ всСх листов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π―Π·Ρ‹ΠΊ паскаль ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°Π»Ρ„Π°Π²ΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ подмноТСство Π½Π°Π±ΠΎΡ€ΠΎΠ² символа Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΠΎΠ΄ΠΎΠ².

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы.

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

Минимальная значимая Π΅Π΄ΠΈΠ½ΠΈΡ†Π° тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ — ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠΊΠ² ΠΈ Ρ†ΠΈΡ„Ρ€. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌΠΈ, ΠΏΡ€Π΅Π΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π² ΡΠ·Ρ‹ΠΊΠ΅ паскаль являСтся: ΠΈΠΌΠ΅Π½Π° встроСнных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ΠœΠ΅Ρ‚ΠΊΠΈ — числовыС ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ.

Числа. Число Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Ρ†Π΅Π»ΠΎΠ΅ — дСсятичноС, вСщСствСнноС,

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ — ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов ΠΈΠ· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠ΄ΠΎΠ², Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Π°Ρ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ….

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

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ являСтся Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° грамматичСски ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ, ΠΈΠ½Π°Ρ‡Π΅ говоря удовлСтворяСт Π»ΠΈ ΠΎΠ½Π° Π·Π°ΠΊΠΎΠ½Π°ΠΌ языка программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° написана. Бинтаксис языка Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΎΡ€ΠΌΡƒ языка. Если прСдлоТСния удовлСтворяСт Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, ΠΎΠ½ΠΎ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ‚ Π΅Π³ΠΎ значСния рассматриваСтся ΠΊΠ°ΠΊ синтаксичСски ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅.

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ опрСдСлСния языков программирования

Под Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ языка программирования ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠ΅ описаниС синтаксиса ΠΈ ΡΠ΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠΈ. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ описаниС.

БвСдСния ΠΎ ΡΠ·Ρ‹ΠΊΠ΅ содСрТится Π² ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°Ρ… ΠΈ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²Π°Ρ…. Часто эти описания Π½Π΅ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Π΅ ΠΈ Π½Π΅ ΠΎΡΠ²Π΅Ρ‰Π°ΡŽΡ‚ всСх тонкостСй.

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ описаниС Π½Π°Π΄ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² компилятора. БинтаксичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ способами.

ΠœΠ΅Ρ‚Π°ΡΠ·Ρ‹ΠΊ (мСталингвистичСскиС символы)

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ описания языка.

ΠœΠ΅Ρ‚Π°ΡΠ·Ρ‹ΠΊ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ синтаксичСскиС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹

Π‘ΠΊΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ конструкции

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ мноТСств

ΠœΠ΅Ρ‚Π°ΡΠ·Ρ‹ΠΊ

ОписаниС любого Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка описываСтся Π½Π° ΠœΠ•Π’О языкС. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ синтСз, Π»ΠΈΠ±ΠΎ сСмантику (смысл конструкций), Π»ΠΈΠ±ΠΎ всС вмСстС. Для языков программирования Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнным ΠœΠ•Π’Πž языком для описаниС синтСза слуТит Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° БНЀ. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ основныС понятия ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ этого языка:

Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ символ — символ, состоящСй Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π±ΡƒΠΊΠ² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π° описываСмого языка. Одна ΠΈΠ»ΠΈ нСсколько Π±ΡƒΠΊΠ².

НС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ символ — сформулированная Π½Π° Ρ€ΡƒΡΡΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС понятиС описываСмого языка программирования. ΠœΠ΅Ρ‚Π°Π»ΠΈΠ½Π³Π²ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ понятиС языка ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅ΠΌΡ‹ΠΌΠΈ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π° подстановки. U ΠΈ u — ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов. Π—Π½Π°ΠΊ: = Π΅ΡΡ‚ΡŒ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ прСдставляСт собой. ΠŸΡ€ΠΈ описании языков программирования U — это ΠΎΠ΄ΠΈΠ½ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ символ. u — любая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа с Π»Π΅Π²Π°.

БимволичСскоС имя >: =<οΏ½Π±ΡƒΠΊΠ²Π°> | <�символичСскоС имя> <οΏ½Π±Ρ†>

<οΏ½Π±Ρ†>: =<οΏ½Π±ΡƒΠΊΠ²Π°> <οΏ½Ρ†ΠΈΡ„Ρ€Π°>

По ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ» ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΡ… понятий языка строится ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ся Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ символом языка.

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ языков ΠΏΠΎ Π₯омскому

Π’ ΠΎΡΠ½ΠΎΠ²Π΅ этой классификации Π»Π΅ΠΆΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΠ° Π»Π΅Π²ΠΎΠΉ ΠΈ ΠΏΡ€Π°Π²ΠΎΠΉ части ΠΏΡ€Π°Π²ΠΈΠ» подстановки. Π―Π·Ρ‹ΠΊΠΈ дСлятся Π½Π° 4 класса:

ΠŸΡ€ΠΈ Ρ‡Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс большСго Π½ΠΎΠΌΠ΅Ρ€Π°, являСтся подмноТСством ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ класса с ΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ.

Класс 0. (Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° с Ρ„Ρ€Π°Π·ΠΎΠ²ΠΎΠΉ структурой). НС Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ΡΡ Π½ΠΈ ΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° подстановки. ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅, Π³Π΄Π΅ U — ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°Ρ Π½Π΅ ΠΏΡƒΡΡ‚ая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов. Класс 0 являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ языки этого класса ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ модСлью СстСствСнных языков.

Класс 1 ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎ-зависимая Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ°. U1 — Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ символ. X Y u — ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°Ρ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов. Бмысл этого ΠΏΡ€Π°Π²ΠΈΠ»Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΌΠ΅Π½Π° U Π½Π° u ΠΎΡΡƒΡ‰Π΅ΡΡ‚вляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠΎΠ½Ρ‚СкстС X Y. Если Π΄Π»ΠΈΠ½Ρƒ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ, Ρ‚ΠΎ Π²ΠΈΠ΄Π½Π° Ρ‡Ρ‚ΠΎ лСвая Ρ‡Π°ΡΡ‚ΡŒ всСгда мСньшС Ρ‡Π΅ΠΌ правая.

Класс 2 ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎ-свободныС Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ. U Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° класса 2 ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания синтаксиса языков программирования.

Класс 3 РСгулярной Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ. U — ΠΎΠ΄ΠΈΠ½ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». t — ΠΎΠ΄ΠΈΠ½ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». n — ΠΎΠ΄ΠΈΠ½ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° Ρ‚Ρ€ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для описания символа простых языков. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сборки лСксСм. Если Π± хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ подстановки относится ΠΊ Π±ΠΎΠ»Π΅Π΅ высокому классу Ρ‡Π΅ΠΌ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅, Ρ‚ΠΎ ΠΈ Π²ΡΡ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° относится ΠΊ ΡΡ‚ΠΎΠΌΡƒ классу. Для описания синтаксиса Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка достаточно Π·Π°Π΄Π°Ρ‚ΡŒ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 4 ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

S>aS

S>a

S>b

S>bY

Y>bY

Y>b

S >ΠΎ

G3=({a, b},{S, Y}, P3, S)

Π”Π²Π΅ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ язык Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ эквивалСнтныС Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ.

КаТдая строка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ вывСсти ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа называСтся ΡΠ΅Π½Ρ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ.

БинтаксичСскиС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ опрСдСлСния символичСского ΠΈΠΌΠ΅Π½ΠΈ.

БинтаксичСский Π°Π½Π°Π»ΠΈΠ· языков программирования.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π° ΡΡ‚Π°ΠΏΠ΅ лСксичСского Π°Π½Π°Π»ΠΈΠ·Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° разбиваСтся Π½Π° Π΅Π΅ ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Π΅ элСмСнты, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ„Π°Π·Π° компилятора Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ структуру выраТСния, состоящая ΠΈΠ· ΡΡ‚ΠΈΡ… элСмСнтов ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. БинтаксичСский Π°Π½Π°Π»ΠΈΠ·, прСдставляСт собой Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ пороТдСния (Π²Ρ‹Π²ΠΎΠ΄Π°). Π—Π°Π΄Π°Ρ‡Π° Ρ€Π°Π·Π±ΠΎΡ€Π° формулируСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ соотвСтствуСт Π»ΠΈ данная конструкция Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ языка, Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ΅ этого языка. ЯвляСтся Π»ΠΈ данная конструкция ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ языка, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ синтаксичСских ошибок. Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Ρ€Π°Π·Π±ΠΎΡ€Π°. ЛСвосторонний ΠΈ ΠΏΡ€Π°Π²ΠΎΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠΉ.

ЛСвосторонний Ρ€Π°Π·Π±ΠΎΡ€ — Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС Π²Ρ‹Π²ΠΎΠ΄Π°, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа языка замСщаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ» Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ самый Π»Π΅Π²Ρ‹ΠΉ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ символ Π² ΡΠ΅Π½Ρ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

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

БинтаксичСскоС Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π°Π·Π±ΠΎΡ€Π°

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

ЛСкция 23.11.07

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ построСния синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°.

Нисходящий Ρ€Π°Π·Π±ΠΎΡ€ — синтаксичСскоС Π΄Π΅Ρ€Π΅Π²ΠΎ строится ΠΎΡ‚ ΠΊΠΎΡ€Π½Ρ ΠΊ Π»ΠΈΡΡ‚ΡŒΡΠΌ, Π΅Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π΅Ρ€Ρ‚Π° являСтся Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡΡΡŒ ΠΎΡ‚ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа языка, ΠΌΡ‹ ΡΡ‚рСмимся Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π°ΠΊΡƒΡŽ подстановку, которая Π±Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ Ρ‡Π°ΡΡ‚ΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов. ДостигаСтся это ΠΏΡƒΡ‚Π΅ΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π’ ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡ€Π°Π²ΠΈΠ» подстановкС отыскиваСтся ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π»Π΅Π²ΠΎΠΉ части содСрТат Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ символы, Π° Π² ΠΏΡ€Π°Π²ΠΎΠΉ части символы Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ прСдлоТСния. Если Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π΅ΡΡ‚ΡŒ, Ρ‚ΠΎ Π΄Π΅Ρ€Π΅Π²ΠΎ Π½Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚ываСтся ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ повторяСтся. Если ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько шагов Π½Π°Π·Π°Π΄, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ сдСланный Ρ€Π°Π½Π΅Π΅. ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ€Π°Π·Π±ΠΎΡ€Π° заканчиваСтся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… случаС.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ, всС Π»ΠΈΡΡ‚ΡŒΡ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами ΠΈ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ с Π»Π΅Π²ΠΎ Π½Π° ΠΏΡ€Π°Π²ΠΎ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ ΡΡ‚ΠΎΠΌ случаи Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, синтаксичСски рассматриваСмоС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ соотвСтствуСт Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ΅ языка.

Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π» всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Π½ΠΎ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΊ Π΄Π΅Ρ€Π΅Π²Ρƒ, Π·Π½Π°Ρ‡ΠΈΡ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π΄Π°Π½Π½ΠΎΠΌΡƒ языку ΠΈΠ»ΠΈ содСрТит ΠΎΡˆΠΈΠ±ΠΊΡƒ.

«ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π°»:: = «ΠšΠ€Π’» | «Π·Π½Π°ΠΊ» «ΠšΠ€Π’»

Π¨Π°Π³ 1 константа

Шаг 2 КЀВ

Восходящий Ρ€Π°Π·Π±ΠΎΡ€ — Π΄Π΅Ρ€Π΅Π²ΠΎ строится ΠΎΡ‚ Π»ΠΈΡΡ‚ΡŒΠ΅Π² ΠΊ ΠΊΠΎΡ€Π½ΡŽ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ отправляСтся ΠΎΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ строки, пытаСтся ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ подстановки с Π»Π΅Π²Π° Π½Π° ΠΏΡ€Π°Π²ΠΎ ΠΈ Π²ΡΠ΅ это привСсти ΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ символу Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ. Π§Π°ΡΡ‚ΡŒ строки, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΊ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ символу Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ„Ρ€Π°Π·ΠΎΠΉ. Если ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ осущСствляСтся ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ подстановки, Ρ„Ρ€Π°Π·Π° называСтся нСпосрСдствСнно ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΠΎΠΉ. Бамая лСвая нСпосрСдствСнная Ρ„Ρ€Π°Π·Π° называСтся основой. Алгоритм Ρ€Π°Π·Π±ΠΎΡ€Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ отыскиваСтся основа ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ся ΠΊ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ символу. Π­Ρ‚Π° опСрация примСняСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ символ ΠΈ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ символом Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ. Π›ΠΈΠ±ΠΎ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Π° Ρ„Ρ€Π°Π·Π°, Π² ΡΡ‚ΠΎΠΌ случаи дСлаСтся Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько шагов, выбираСтся другая основа, Ссли всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Π½Ρ‹, Π° ΠΊΠΎΡ€Π΅Π½ΡŒ Π΄Π΅Ρ€Π΅Π²Π° Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½, дСлаСтся Π²Ρ‹Π²ΠΎΠ΄ ΠΎΠ± Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ошибки. Восходящий Ρ€Π°Π·Π±ΠΎΡ€ прСдставляСт собой ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹.

НисходящиС ΠΈ Π²ΠΎΡΡ…одящиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ большого количСства ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‚Ρ€Π΅Π±ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

ΠœΠ΅Ρ‚ΠΎΠ΄ рСкурсивного спуска — Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстный Π»Π΅Π³ΠΊΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΈ Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π·Π±ΠΎΡ€Π° с Π²Π΅Ρ€Ρ…Ρƒ Π² Π½ΠΈΠ·. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ΅, ΠΌΠΎΠΆΠ½ΠΎ быстро Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ синтаксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€. ОсновноС прСимущСства — ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ создания Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°. Π”Ρ€ΡƒΠ³ΠΎΠ΅ прСимущСство Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠΎΠΎΡ‚вСтствии ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠΌ, благодаря Ρ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ увСличиваСтся Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ. Основной нСдостаток — ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ, Π² Π²Π΅Π΄Π΅ΠΌ Π΄Π²Π° Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символа. По Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ΅ пишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°. Lex — функция, которая выдСляСт лСксСму.

ЛСкция 30.11.07

Ll (1) — Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ°

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎ-свободныС Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ слуТат основой создания синтаксичСских Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ². Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ свСрху Π² Π½ΠΈΠ· ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ll (1) Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠŸΠ΅Ρ€Π²Π°Ρ l ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ исходная строка разбиваСтся с Π»Π΅Π²ΠΎ Π½Π° ΠΏΡ€Π°Π²ΠΎ, вторая Π±ΡƒΠΊΠ²Π° — лСвосторонний Ρ€Π°Π·Π±ΠΎΡ€, Π° Ρ†ΠΈΡ„Ρ€Π° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ» выбираСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просматриваСмого символа.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ S-Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ.

ΠŸΡ€Π°Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° начинаСтся с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

Π’ Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π² Π»Π΅Π²ΠΎΠΉ части Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²Ρ‹Π΅ части Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ².

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° Π±Ρ‹Π»Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ условиСм являСтся мноТСством символам ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠΎΠ² Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°Ρ‚ΡŒΡΡ. Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ll (1) Ссли для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ Π² Π»Π΅Π²ΠΎΠΉ части Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π° мноТСства Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… символов ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ» Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ся. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос, всС Π»ΠΈ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ. БущСствуСт Π»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ свойства. Однако, Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΠ½Π° стала Ll (1).

Π§Ρ‚ΠΎ Π±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»Π΅Π²ΡƒΡŽ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ Π½Π° ΠΏΡ€Π°Π²ΡƒΡŽ ΠΌΡ‹ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°Π΅ΠΌ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρ‹.

Ѐакторизация — Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ситуациях Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌΠΈ Ll (1) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ Ll (1). ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ нСльзя Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, распространив Π΅Π³ΠΎ Π½Π° ΠΎΠ±Ρ‰ΠΈΠΉ случай.

ЛСкция 07.12.07

Ll (1) — Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ°

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

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

1 столбСц — Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ символы (Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»)

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

3 столбСц — Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ символы, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄

β„–

Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄

ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ

стСк

Π²ΠΎΠ·Π²Ρ€Π°Ρ‚

ошибка

Begin

f

f

f

t

Begin

t

f

f

t

d

f

t

f

t

coma

t

f

f

t

s

f

t

f

t

end

t

f

t

t

d

f

f

f

t

1 дСйствиС — begin считываСтся ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ся. Π‘Ρ‚Π΅ΠΊ пуст, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся Π² ΡΡ‚Π΅ΠΊ Ρ€Π°Π·Π±ΠΎΡ€Π°Ρ… для указания адрСсов Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΡ‚Ρ€ΠΎΠΊΡƒ 2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ begin.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡˆΠ°Π³Ρƒ Ρ€Π°Π·Π±ΠΎΡ€Π° соотвСтствуСт ΠΎΠ΄ΠΈΠ½ элСмСнт. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π·Π±ΠΎΡ€Π° осущСствляСтся:

Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просматриваСмый символ. Π‘ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Π»ΠΈ ΠΎΠ½ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ для ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΎΠΉ части ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°. Если этот символ Π½Π΅ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ, Ρ‚ΠΎ ΠΎΠ½Π° провСряСтся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ этапС.

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰Π°ΡΡΡ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Она Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ нахоТдСния ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просматриваСмого символа, Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π² Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… символов. ΠŸΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΡ Π² ΡΡ‚Π΅ΠΊ адрСса Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ относящСмуся ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ. Если Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» появляСтся Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ части, Ρ‚ΠΎ Π½Π΅Ρ‚ нСобходимости ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² ΡΡ‚Π΅ΠΊ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° содСрТит Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Π’Π΅Π»ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ элСмСнт Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Если ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просматриваСмый элСмСнт отсутствуСт Π² ΡΠΏΠΈΡΠΊΠ΅ систСмы ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ ошибки окаТСтся лоТью, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт с Ρ‚Π΅ΠΌ ΠΆΠ΅ символом. Π•Π»ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просматриваСмый символ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ся Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΈ ΠΏΠΎΠ»Π΅ ошибки t, Ρ‚ΠΎ Π²Ρ‹Π΄Π°Π΅Ρ‚ся сообщСниС ΠΎ ΡΠΈΠ½Ρ‚аксичСской ошибкС.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

Никогда Π½Π΅ Ρ‚рСбуСтся прСимущСства Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ.

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

Π’Π°Π±Π»ΠΈΡ†Π° Ρ€Π°Π·Π±ΠΎΡ€Π° мСньшС Ρ‡Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…, Π·Π½Π°Ρ‡ΠΈΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅.

LL1 Ρ€Π°Π·Π±ΠΎΡ€ примСняСтся ΠΊ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ классу языков, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв трСбуСтся Ρ€ΡƒΡ‡Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅.

LR (1) — снизу Π² Π²Π΅Ρ€Ρ…, Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΡ‹ΠΉ Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ. К — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ правосторонний Ρ€Π°Π·Π±ΠΎΡ€, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа.1 — фиксированноС число ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просматриваСмых символов. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ дСйствиС — сдвиг, Π²ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ считываСтся ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся Π² ΡΡ‚Π΅ΠΊ символ, это соотвСтствуСт ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡŽ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΠ½ΠΊΡ‚ вдоль ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π»ΠΈΠ±ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π²ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ мноТСство элСмСнтов Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части стСка замСщаСтся ΠΊΠ°ΠΊΠΈΠΌ Π»ΠΈΠ±ΠΎ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ.

ЛСкция 14.12.07

S — > real IDLIST

IDLIST — >IDLIST

IDLIST — > ID

ID — > a b с d

Π‘Ρ‚Π΅ΠΊ символов

A ID IDLIST

Real real real

ID

IDLIST

Real

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ€Π°Π·Π±ΠΎΡ€Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ всС состояния Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ.

Π’Π°Π±Π»ΠΈΡ†Π° Ρ€Π°Π·Π±ΠΎΡ€Π° прСдставляСт собой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· ΡΡ‚ΠΎΠ»Π±Ρ†ΠΎΠ² — для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ + ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ окончания, ΠΈ ΡΡ‚Ρ€ΠΎΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ.

БостояниС

S

IDLIST

ID

real

A B S D

HALT

S2

S5

S4

S3

R4

R4

R3

R3

S6

R1

S7

S3

R2

R2

Π’Π°Π±Π»ΠΈΡ†Π° Ρ€Π°Π·Π±ΠΎΡ€Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ элСмСнты 4 Ρ‚ΠΈΠΏΠΎΠ². Π‘Π΄Π²ΠΈΠ³ S 2 — 2 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ состояниС, ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΡΡ‚Π΅ΠΊ символов ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ столбцу символ. Π’ ΡΡ‚Π΅ΠΊ состояния ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ 2 ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΠΎΡΡ‚ояниС 2. Если Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ символ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

R4 — r ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ элСмСнт ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, 4 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ 4 ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ привСдСния. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт.

3 элСмСнт — ΠΏΡ€ΠΎΠ±Π΅Π», соотвСтствуСт ошибкС.

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Оба ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ синтаксичСскиС ошибки Π½Π° ΡΠ°ΠΌΠΎΠΌ Ρ€Π°Π½Π½Π΅ΠΌ этапС.2 ΠΌΠ΅Ρ‚ΠΎΠ΄ примСняСтся ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ классу языков ΠΈ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ прСобразования Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ. Π”Π΄1 Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ прСобразования, ΠΈ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ прСобразоватСля Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ затруднСния.

Π­ΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΈ сравнСнии максимального ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ врСмя Ρ€Π°Π·Π±ΠΎΡ€Π° прСдлоТСния ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ ΠΌΠ½Π΅Π½ΠΈΡŽ Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ LL быстрСС Π½Π° 50%, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ с Π²Π΅Ρ€Ρ…Ρƒ Π² Π½ΠΈΠ· быстрСС Π½Π° 50%.

ПослС синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, послСдним шагом процСсса компиляции являСтся гСнСрация ΠΊΠΎΠ΄Π°. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ распознан Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ, вызываСтся сСмантичСская ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π½Π΅ ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄.

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

ЛСкция 21.12.07

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

Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ компиляторах ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ прСдставлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹Π΅ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°, с Ρ†Π΅Π»ΡŒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ эффСктивного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Π²Π΅Ρ€ΠΎΠΊ

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Ρ€ΠΎΠ΅ΠΊ

Полиз — позволяСт ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ любоС матСматичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· скобок

S->EVP

EVP-> TERM

TERM->FACT

FACT->FACT

ID->A|B|C|D

Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° Ρ‡Π΅Ρ‚Π²Π΅Ρ€ΠΎΠΊ

QUAD->OPERAND OPI OPERAND=INT

OP2 OPERAND=INT

OPERAND->INT|ID

INT->DIGIT|DIGIT INT

DIGIT-> 0|1|2|3|4|5|6|7|8|9

OP|±|*

ID->a|b|c|d|e

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ

На ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‡Π΅Ρ‚Π²Π΅Ρ€ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

ЦСль: оптимизация.

МоТно ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ запоминания ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹.

Π£ΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π΄Π»ΠΈΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ количСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. БущСствуСт ΠΈ ΠœΠ°ΡˆΠΈΠ½ΠΎ нСзависимая оптимизация.

ЛСкция 28.12.07

РаспрСдСлСниС памяти. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ для хранСния структурированных элСмСнтов Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько этапов:

Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ массив, для этого ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ массива.

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰ΡƒΡŽ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ‚ΠΈΠΏ массива ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»Π°.

Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для обращСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ структурированной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΠΎΡ€ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ структурированной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, для Ρ‚Π΅Ρ… случаСв, ΠΊΠΎΠ³Π΄Π° нСобходимая информация отсутствуСт Π²ΠΎ Π²Ρ€Π΅ΠΌΡ компиляции.

Аналогичная информация Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ записи строк ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π².

РСкурсивный Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Π² ΡΠ»ΡƒΡ‡Π°ΠΈ использования статичСского распрСдСлСния памяти Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π­Ρ‚Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ динамичСскоС распрСдСлСниС памяти. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ области ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠžΠ±Ρ‹Ρ‡Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ располагаСтся Π² ΡΡ‚Π΅ΠΊΠΈ, ΠΈ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, адрСс Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°, Ρ…Ρ€Π°Π½ΠΈΡ‚ адрСс ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ называСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ автоматичСского распрСдСлСния.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ создания компиляторов.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠΎΠ΄Π°

Диагностика ошибок

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

Если Π²Π°ΠΆΠ½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ компиляции, Ρ‚ΠΎ ΠΎΠ΄Π½Π° просмотровая схСма ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅ΠΉ. Однако Π½Π΅ Π²ΡΠ΅ языки высокого уровня.

Если с ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ, ΠΈΠ»ΠΈ памяти Π΄Ρ€ΡƒΠ³ΠΈΠ΅ рСсурсы сущСствСнно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ большиС массивы Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ становится Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, компиляторы.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ