Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «РСдкая профСссия». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 4

Автор Π•Π²Π³Π΅Π½ΠΈΠΉ Π—ΡƒΠ΅Π²

Бпасибо, Π² "Π—Π΅Π»Π΅Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅" подсказали схСму Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°. НС Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ, сами Π±Ρ‹ Π½ΠΈ Π·Π° Ρ‡Ρ‚ΠΎ Π½Π΅ придумали…

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€?

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

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

Для языка Π‘ΠΈ++ такая схСма Π½Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚. Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² состоянии синтаксичСски Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ конструкции, Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π°ΡΡŒ сСмантичСская интСрпрСтация ΠΈΠΌΠ΅Π½ΠΈ. Π˜Π½Ρ‹ΠΌΠΈ словами, Π½Π° Π²Ρ…ΠΎΠ΄ синтаксичСскому Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ слСдовало ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΡƒΡŽ лСксСму "ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€", Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ прСдставляСт собой этот ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: "имя Ρ‚ΠΈΠΏΠ°", "Π½ΠΎΠ²ΠΎΠ΅ имя Π² объявлСнии", "имя Π½Π΅-Ρ‚ΠΈΠΏΠ° Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ" ΠΈ Ρ‚.Π΄. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ синтаксичСскому Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ для Java — нСпосрСдствСнного ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° Π‘ΠΈ++ — вполнС Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ понятия ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠΉ.

ВсСго для Π‘ΠΈ++ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΠΎΠΊΠΎΠ»ΠΎ дСсятка Ρ‚Π°ΠΊΠΈΡ… "супСрлСксСм", Π° лСксСма "ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€" Π²ΠΎΠΎΠ±Ρ‰Π΅ исчСзла ΠΈΠ· синтаксиса. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ лСксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ поставляСт лСксСмы, ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π½Π°Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ "ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΠΎΠΌ". Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» Π½Π΅ просто Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈΠ· тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΡƒΡŽ лСксСму, Π½ΠΎ ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ трансляции Π·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠ½ Π²Ρ‹Π»ΠΎΠ²ΠΈΠ». РСально эти дСйствия выполняСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π½Π°Π·Π²Π°Π½Π½Ρ‹ΠΉ "Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌ лСксичСским Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠΌ". Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ модуля Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ ΡƒΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡŽ компилятора Π² Ρ†Π΅Π»ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ идСнтификация ΠΈΠΌΠ΅Π½ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ; ΠΌΡ‹ просто пСрСнСсли Π΅Π΅ Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠΉ этап компиляции. А синтаксис Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ упростился, стал Π±ΠΎΠ»Π΅Π΅ наглядным, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС Π±ΠΎΠ»Π΅Π΅ эффСктивным.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ: Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Π΄Π΅Ρ€Π΅Π²ΡŒΡ

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

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

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

Π­Ρ‚Π° пара — таблицы ΠΈ Π΄Π΅Ρ€Π΅Π²ΡŒΡ, вмСстС с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ, Π±Π΅Π· прСувСличСния составляСт Π΄Π²Π΅ Ρ‚Ρ€Π΅Ρ‚ΠΈ тСкста компилятора. ΠŸΠΎΡ‡Ρ‚ΠΈ вся наша Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° протяТСнии всСх этих Π»Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ Π±Ρ‹Π»Π° связана с Π½ΠΈΠΌΠΈ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ‚Π°Π±Π»ΠΈΡ† Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Π° Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·Ρ†Π°ΠΌ ΠΈΠ· ΠΊΠ½ΠΈΠ³ ΠΏΠΎ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ компиляции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΈΠ·ΠΎΠ±ΠΈΠ»ΠΈΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ Ρƒ нас Π² 70-80-Ρ… Π³ΠΎΠ΄Π°Ρ… ΠΈ описывали, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, языки с ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой ΠΈ, самоС Π³Π»Π°Π²Π½ΠΎΠ΅, рСгулярной структурой ΠΈ нСслоТной сСмантикой,-- Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Алгол-60, Паскаль, ΠœΠΎΠ΄ΡƒΠ»Π°-2. МногоС ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π‘ΠΈ++, с Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ "Π²Ρ‚ΠΈΡΠΊΠΈΠ²Π°Π»ΠΎΡΡŒ" Π² акадСмичСскиС построСния, ΠΈ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ…. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π»ΠΈΠ²ΡƒΡŽ смСсь классичСской стСковой ΠΌΠΎΠ΄Π΅Π»ΠΈ с дисплССм для отобраТСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ контСкста ΠΈ Π½Π°Π²ΠΎΡ€ΠΎΡ‚ΠΎΠ² Π²Ρ€ΠΎΠ΄Π΅ срСдств динамичСского пСрСстроСния контСкста для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ-Ρ‡Π»Π΅Π½ΠΎΠ² классов, Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ областСй дСйствия ΠΈΠΌΠ΅Π½ (namespaces), Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² для ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ компиляции ΠΈ Ρ‚.Π΄. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ динамичСски Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² состоянии Π²ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π² сСбя ΠΎΡ‡Π΅Π½ΡŒ большоС количСство ΠΈΠΌΠ΅Π½, Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ΅ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π‘ΠΈ++. ΠŸΠΎΠΌΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ изрядно, ΠΈ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ сразу Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ.

ΠžΠΏΡƒΡΠΊΠ°Ρ тСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ, слСдуСт ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ сСйчас ΠΌΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ спроСктированы сСмантичСскиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’ своС ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ всС "Π½Π°Π²ΠΎΡ€ΠΎΡ‚Ρ‹" Π² них — вСщи Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² компиляторС. Наша Π½Π΅ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚, скорСС, ΡΡΡ‚Π΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ: Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π΅ выглядят стройной систСмой, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ³Π½Π°Π½ ΠΊ Ρ‚ΠΎΠΌΡƒ мСсту, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ для Π½Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ.

Π‘ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ситуация Π±Ρ‹Π»Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ. Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· спроСктированными, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π΅Ρ€Π΅Π²Π° Π΄Π°Π»Π΅Π΅ практичСски Π½Π΅ измСнялись. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ, структура ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… создавалась, Ρ‡Ρ‚ΠΎΠ±Ρ‹ нСпосрСдствСнно ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ контСкстныС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ языка Π‘ΠΈ++, Π΄Π΅Ρ€Π΅Π²ΠΎ оказалось практичСски ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ языко-нСзависимым. Π˜Π½Ρ‹ΠΌΠΈ словами, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ основной ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π΄Π΅Ρ€Π΅Π²Π°β€‰β€”β€‰Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ узСл — моТно ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ конструкции Π»ΡŽΠ±Ρ‹Ρ… языков программирования. ВсС ΡƒΠ·Π»Ρ‹ Π΄Π΅Ρ€Π΅Π²Π° ΠΈΠΌΠ΅ΡŽΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΡƒΡŽ структуру, Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡΡΡŒ лишь значСниями своих (нСмногочислСнных) Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠ·Π΅Π» ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ссылки (Π²Π²Π΅Ρ€Ρ…, Π²Π½ΠΈΠ·, Π²Π»Π΅Π²ΠΎ ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ), с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π»Π΅Π³ΠΊΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ "плоскиС" ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ конструкциям Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ссылки ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ структуры Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ конструкции, Π° Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… элСмСнтам этой конструкции, ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ конструкциям.

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

Однако Ρƒ этих достоинств Π΅ΡΡ‚ΡŒ ΠΈ оборотная сторона, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ структуры Π΄Π΅Ρ€Π΅Π²Π°. Π’ чистом Π²ΠΈΠ΄Π΅ ΠΎΠ½ΠΎ Π½Π΅ нСсСт Π² сСбС Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ сСмантичСской информации — это лишь опрСдСлСнная структура ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅. Π˜Π½Ρ‹ΠΌΠΈ словами, для Π΄Π΅Ρ€Π΅Π²Π° ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ достаточно ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Π΄Π²Π° ΡƒΠ·Π»Π° Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ссылками", "ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ" ΠΈ Ρ‚.ΠΏ. Π›ΡŽΠ±ΠΎΠ΅ ΠΆΠ΅ ΠΌΠ°Π»ΠΎ-мальски ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ΅ дСйствиС, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ сСмантику Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅Π³ΠΎ пСрСстроСниС Π² процСссС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°, приходится ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ Π½Π΅ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… модулях, Π° рассрСдоточСны ΠΏΠΎ всСму тСксту компилятора.

Π­Ρ‚ΠΎΡ‚ Ρ€Π°Π·Π΄Π΅Π» хочСтся Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ нСсколько Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ. НаличиС Π² компиляторС Π΄Π²ΡƒΡ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… структур — сСмантичСских Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π΄Π΅Ρ€Π΅Π²Π° программы — сСйчас расцСниваСтся Π½Π°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… нСдостатков компилятора. Π­Ρ‚ΠΈ структуры Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ…, Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ вмСстС, ΠΏΡ€ΠΎΠ½ΠΈΠ·Π°Π½Ρ‹ Π²Π·Π°ΠΈΠΌΠ½Ρ‹ΠΌΠΈ ссылками (ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΏΠ»Π΅Ρ‚Π΅Π½Ρ‹, ΠΊΠ°ΠΊ ΠΊΠΎΡ€Π½ΠΈ растущих рядом Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π²) ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях просто Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°. Бходная информация ΠΎ структурС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ присутствуСт ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, ΠΈ Π² Π΄Π΅Ρ€Π΅Π²Π΅, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»Π³ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅, ΠΈ сСйчас выглядит довольно Π½Π΅Π»Π΅ΠΏΠΎ. НапримСр, Π² Π΄Π΅Ρ€Π΅Π²Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΡƒΠ·Π»Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ объявлСниям; это СстСствСнно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π·Ρ‹ объявлСний ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄. Π§Ρ‚ΠΎ ΠΆΠ΅ касаСтся Ρ‚Π°Π±Π»ΠΈΡ†, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ составлСны Π½Π° основС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½ΠΎΠΉ ΠΈΠ· объявлСний. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΡƒΠ·Π»Π°Ρ…-ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΡΡ… содСрТится ссылка Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ слово Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…. БСмантичСскоС слово, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ссылку Π½Π° ΡƒΠ·Π΅Π» "своСго" объявлСния, которая Π² рядС случаСв оказалась Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· объявлСния прСдставляСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ссылки ΠΊΠ°ΠΊ ΠΈΠ· ΡƒΠ·Π»Π°-объявлСния, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ· сСмантичСского слова. И Ρ‚Π°ΠΊ далСС… ВсС это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π΄Π°ΠΆΠ΅ Π²ΠΏΠΎΠ»Π½Π΅ эффСктивно, Π½ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° вСсьма Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²Π°.