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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка

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

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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

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

Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Π½ΠΈΠ΅, описанноС Π²Ρ‹ΡˆΠ΅ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹Ρ… тСхничСских Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ языку.

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

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

Для ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ машинного прСдставлСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π°; Π·Π°Ρ‚Π΅ΠΌ провСсти лСксичСский Π°Π½Π°Π»ΠΈΠ·, ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π½Ρ‹Π΅ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ выдСлСния лСксСм ΠΈ ΡΡ…Π΅ΠΌΡƒ сканСра, ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

НазначСниС ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° языка C++ нСсСт ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΡƒΡŽ Ρ†Π΅Π»ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ся с Ρ†Π΅Π»ΡŒΡŽ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ познания Π°Π²Ρ‚ΠΎΡ€Π° Π² Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «Π’Сория трансляций», Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠΈ Π½Π°Π²Ρ‹ΠΊΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ языка ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ язык ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ транслятора.

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

ВСхничСскиС характСристики

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ

ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ языку программирования:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Sub.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ объявлСния констант.

ОписаниС Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ суффикса: Sin 99gle, Integer.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° с ΠΌΠ°ΠΊΡ. Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ 2

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π° MsgBox, InputBox.

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: + ^.

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: Not, And, Or.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния.

Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ° IfThen

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° Ρ‚ΠΈΠΏΠ° For Next.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ бСзусловного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ: конкатСнация строк, Cbool, Format, GetAllSettings.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния: TextBox, CommandButton, CheckBox, PictureBox.

ОписаниС примСняСмых матСматичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

Π’Π²Π΅Π΄Ρ‘ΠΌ нСсколько ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ:

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 1. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎ-свободной Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ G Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ся Ρ‡Π΅Ρ‚Π²Π΅Ρ€ΠΊΠ° упорядочСнных мноТСств:

G = {VΡ‚, Vn, P, S}, Π³Π΄Π΅

VΡ‚ — ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ;

Vn — ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ;

P — мноТСство ΠΏΡ€Π°Π²ΠΈΠ» Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ:

P = A->? & A? Vn & ??V*

S — Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ символ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ (S?VΡ‚);

V* - мноТСство строк, составлСнных ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ словаря

V (V=VΡ‚? Vn);

V* = ?= ΠΏ? (? x? V) (? Q? V*)?=Qx

ΠΏ — пустая Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 2. Π¦Π΅ΠΏΠΎΡ‡ΠΊΠ°? o ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ? o (Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ?o=>+W), Ссли сущСствуСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ нСпосрСдствСнных Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²:

?o =>?1 =>… ?n, n>=1.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 3. Π¦Π΅ΠΏΠΎΡ‡ΠΊΠ°? ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Q (Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ?=>*Q), Ссли ?=>+Q, ΠΈΠ»ΠΈ ?=Q.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 4. Π¦Π΅ΠΏΠΎΡ‡ΠΊΠ° называСтся ΡΠ΅Π½Ρ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ G, Ссли ΠΎΠ½Π° выводится ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Ρ‚. Π΅. Ссли S->*?.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 5. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ языка — это ΡΠ΅Π½Ρ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°, состоящая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 6. Π―Π·Ρ‹ΠΊ L (G) — это мноТСство ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ

L (G) = ?.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 7. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ A, B ΠΊΠΎΠ½Ρ‚Скстно-свободной Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ связаны ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ FIRST, Ссли выполняСтся условиС

A->B?,

Π³Π΄Π΅ A? Vn, B? V, ??V*.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 8. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ A ΠΈ B Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ связаны ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ.=., Ссли Π² Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ΅ имССтся ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π²ΠΈΠ΄Π°:

W??AΠ’?.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 9. ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ >. ΠœΠ΅ΠΆΠ΄Ρƒ символами A ΠΈ B Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ находится ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ»Π°:

(>.)=(LAST+)T (.=.).

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 10. ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ <. ΠœΠ΅ΠΆΠ΄Ρƒ символами A ΠΈ B Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ находится ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ»Π°:

(<.)=(.=.) (FIRST+).

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΏΠΎ Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ описанию языка

Π’ ΡΠΎΠΎΡ‚вСтствии с Ρ‚СхничСским Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ языка напишСм Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ, листинг ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 1.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ составим ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Sub D11 ()

Dim A As Integer,

B% As Integer

Const D As Single

Dim M (2) As Integer A = (B*2 + 9)^10

If ((IsNumeric (A) <>0 and A>0) Then

MsgBox («A is number«, vbOkOnly) EndI

Text. Text = A

End Sub

Π”Π΅Ρ€Π΅Π²ΠΎ ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π½Π° Π»ΠΈΡΡ‚Π΅ А1.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сканСра

ЛСксичСский Π°Π½Π°Π»ΠΈΠ· проводится сканСром (лСксичСским Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠΌ). Π‘ΠΊΠ°Π½Π΅Ρ€ выдСляСт ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ языковыС конструкции (лСксСмы) ΠΈ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡ… Ρ‚ΠΈΠΏ.

Π‘ΠΊΠ°Π½Π΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡŒΡΡ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… сканСра.

Π’Π°Π±Π»ΠΈΡ†Ρ‹ дСлятся Π½Π° ΠΏΠΎΡΡ‚оянныС ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ сканСра ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² ΡΠ΅Π±Ρ:

Π’Π’Π‘1 — Ρ‚Π°Π±Π»ΠΈΡ†Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов (ΠΎΠ΄Π½ΠΎΠ»ΠΈΡ‚Π΅Ρ€Π½Ρ‹Ρ…).

Π’Π’Π‘2 — Ρ‚Π°Π±Π»ΠΈΡ†Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов (Π΄Π²ΡƒΠ»ΠΈΡ‚Π΅Ρ€Π½Ρ‹Ρ…).

ВКБ — Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов.

Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сканСра ΠΈ Π·Π°Π²ΠΈΡΡΡ‚ ΠΎΡ‚ ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ модуля (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, провСряСмой сканСром). Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² ΡΠ΅Π±Ρ:

ВИ — Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ².

ВК — Ρ‚Π°Π±Π»ΠΈΡ†Π° констант.

Π’Π€ — Ρ‚Π°Π±Π»ΠΈΡ†Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π’Π‘Π‘ — Ρ‚Π°Π±Π»ΠΈΡ†Π° стандартных символов.

Π’Π‘Π‘ являСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сканСра. Π­Ρ‚ΠΎ Π²Π·Π°ΠΈΠΌΠ½ΠΎ-ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ исходного модуля.

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ лСксСм.

ЛСксичСскиС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹:

арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: «+», «/», «^».

ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния: «>», «<οΏ½», «=», «>=», «<=», «<>»

опСрация присваивания: «=»

скобка ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ «(»

скобка Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ «)»

слуТСбныС слова:

«Dim», «As», «Private», «Public», «Sub», «End», «goto», «Optional», «MsgBox», «InputBox».

условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€: «If», «Then»

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π°: «For», «Next»

Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…: «Single», «Byte»," Date", «Integer», «Boolean», «String», «Variant», «Object».

элСмСнты управлСния: «TextBox», «ComandButton», «CheckBox», «PictureBox»

свойства элСмСнтов управлСния: «Caption», «Text», «With», «Height», «Visible»

ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ константы: «VbOkOnly», «VbOkCansel», «VbAbortRetryIgnore»,

«VbCritical»

логичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: «Not», «And», «Or»

Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: «Format», «CBool», «GetAllSettings». Π½ΠΈΠΆΠ½Π΅Π΅ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅: «_»

Ρ‚ΠΎΡ‡ΠΊΠ°: «.»

ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ: «@»

дСсятичныС Ρ†Π΅Π»Ρ‹Π΅ константы

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

Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ сканСром.

Π’Π°Π±Π»ΠΈΡ†Π° 1. ΠžΠ΄Π½ΠΎΠ»ΠΈΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ символы TTC1:

АдрСс

Π‘ΠΈΠΌΠ²ΠΎΠ»

KTL

a

z

A

Z

=

>

<

^

*

;

#

%

.

_

(

)

Π’Π°Π±Π»ΠΈΡ†Π° 2. Π”Π²ΡƒΠ»ΠΈΡ‚Π΅Ρ€Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ символы

АдрСс

Π‘ΠΈΠΌΠ²ΠΎΠ»

KTL

<=

>=

<>

Π’Π°Π±Π»ΠΈΡ†Π° 3. ΠšΠ»Π°ΡΡΡ‹ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π»ΠΈΡ‚Π΅Ρ€

Π‘ΠΈΠΌΠ²ΠΎΠ»

Класс

Π‘ΡƒΠΊΠ²Π°

Π¦ΠΈΡ„Ρ€Π°

Допустимый символ

Π’Π°Π±Π»ΠΈΡ†Π° 4. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ЛогичСскиС Ρ„-ΠΈ (адрСс)

Not (1)

And (2)

Or (3)

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ (адрСс)

CBool (5)

Format (6)

GetAllSettings (7)

Concat (8)

Π’Π°Π±Π»ΠΈΡ†Π° 5. Π’ΠΈΠΏ лСксичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹

ЛСксичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π°

Π’ΠΈΠΏ

опСрация «=»

опСрация «-»

опСрация «*»

опСрация «^»

опСрация ««

опСрация «mod «

Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ «.»,", «

Π½ΠΈΠΆΠ½Π΅Π΅ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ «_»

ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ «@»

ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния

слуТСбныС слова

условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π°

Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

элСмСнты управлСния

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π°

события элСмСнтов управлСния

свойства элСмСнтов управлСния

ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ константы

логичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

дСсятичная цСлая константа

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

Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

псСвдоним Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ скобка «(»

Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ скобка «)»

Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ лСксичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ составляСм Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π½ΡƒΡŽ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€:

S = Π±K

K = Π±K|Ρ†Πš|%F |#F

ДСсятичная цСлая константа:

S = «Ρ†» D

D = «Ρ†» D | e2 F

Π‘Ρ‚Π΅ΠΏΠ΅Π½ΡŒ:

S = «^» F

Π”Π΅Π»Π΅Π½ΠΈΠ΅:

S = «» F

CΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:

S = «+» F

Π—Π½Π°ΠΊΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ:

S = «<οΏ½» A | «>» B | «=» F

A = «=» D |">"D| e3 F

B = «=» D | e4 F

D = e5 F

Π‘ΠΊΠΎΠ±ΠΊΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ «(»:

S = «("F

Π‘ΠΊΠΎΠ±ΠΊΠ° Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ«)»:

S = «)» F

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ «=»:

S = «=» F

Π’ΠΎΡ‡ΠΊΠ° «.»:

S = «.» F

НиТнСС ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ «_»:

S = «_» F

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

Π‘Ρ…Π΅ΠΌΠ° ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°

Π‘ΠΊΠ°Π½Π΅Ρ€ выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

1. ВыдСляСт лСксичСскиС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.

2. ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ лСксичСскиС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.

3. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ лСксичСскиС ошибки;

4. Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ прСдставлСния — Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стандартных символов (Π’Π‘Π‘).

ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΠΌ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ для всСго сканСра (схСма сканСра). Для этого объСдиним Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ символы описания всСх лСксСм Π² ΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ. Π‘Ρ…Π΅ΠΌΠ° сканСра ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½a Π ΠΈΡ. 12.

Π’ Π΄Π°Π½Π½ΠΎΠΌ сканСрС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ сокращСния:

A — входная Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°;

NA — количСство символов Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ;

TL — тСкущая Π»ΠΈΡ‚Π΅Ρ€Π°;

NTL — Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π»ΠΈΡ‚Π΅Ρ€Ρ‹;

KTL — класс Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π»ΠΈΡ‚Π΅Ρ€Ρ‹;

TLE — Ρ‚ΠΈΠΏ лСксичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹;

LE — лСксичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π°;

MDLE — максимальная Π΄Π»ΠΈΠ½Π° лСксичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹;

NLE — тСкущая Π΄Π»ΠΈΠ½Π½Π° LE;

ALE — ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° записи Π’Π‘Π‘, которая опрСдСляСт адрСс лСксичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

На Ρ€ΠΈΡ. 12 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° схСма сканСра Рис. 12. Π‘Ρ…Π΅ΠΌΠ° сканСра

БСмантичСскиС ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сканСра

ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ сСмантичСскими ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² ΡΠΊΠ°Π½Π΅Ρ€.

Π’ ΠΎΡΠ½ΠΎΠ²Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСмантичСских ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π»Π΅ΠΆΠ°Ρ‚ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ дСйствия ΠΏΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ строк:

1) Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π»ΠΈΡ‚Π΅Ρ€Ρ‹;

2) объСдинСниС строк;

3) Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π’ Π΄Π°Π½Π½ΠΎΠΌ сканСрС задСйствованы ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° PODGOT (ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°):

NTL = 0;

NLE = 0;

TLE = A[NTL];

KTL = KLASS(TL); {опрСдСляСм класс TL}

STRCOPY (LE, " «);

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° TIP (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°):

IF KTL = 2 {Ρ†ΠΈΡ„Ρ€Π°}

THEN {ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ лСксичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹}

TLE = 2;

MDLE = 7;

ELSE ERROR («ΠΎΡˆΠΈΠ±ΠΊΠ°»);

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° BKL (Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅):

NLE++;

IF NLE>MDLE

THEN ERROR («ΠΎΡˆΠΈΠ±ΠΊΠ°»)

ELSE LE = LE || TL;

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° SLL (ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π»ΠΈΡ‚Π΅Ρ€Π°)

NTL++;

TL=A [NTL];

KTL = klass (TL);

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ZAPTAB (LE, TLE, ALE, REZ):

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ поиск лСксичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π² Π’К. Для постоянных Ρ‚Π°Π±Π»ΠΈΡ† эта ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ опрСдСляСт адрСс LE, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΎΠ½Π° Π΅Ρ‰Π΅ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Π»Π΅ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.

Π—Π°ΠΏΠΈΡΡŒ элСмСнта Π² Π’Π‘Π‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ OUT (TLE, ALE).

Π’Π°Π±Π»ΠΈΡ†Ρ‹ сканСра для тСстовой Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ

Private Sub D11 () Dim A As Integer, B% As Integer Const D As Single Dim M (2) As Integer A = (B/2 + 9)^10 If ((IsNumeric (A) <>0 and A>0) Then MsgBox («A is number», vbOkOnly) EndIf Text. Text = A End Sub

Π’Π°Π±Π»ΠΈΡ†Π° 6. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π°

Атрибуты

Π’ΠΈΠΏ

Запятая

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ прСдставлСния

ОснованиС систСмы счислСния

integer

НСт

integer

НСт

integer

НСт

integer

НСт

Π’Π°Π±Π»ΠΈΡ†Π° 7. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹

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

Атрибуты

АдрСс ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°

Π’ΠΈΠΏ

Запятая

ОснованиС систСмы счислСния

A

integer

Π½Π΅Ρ‚

B%

integer

Π½Π΅Ρ‚

C

integer

Π½Π΅Ρ‚

D

Single

Π½Π΅Ρ‚

Π’Π°Π±Π»ΠΈΡ†Π° 8. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ символы

ЛСксичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π°

Π’ΠΈΠΏ лСксичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹

АдрСс лСксичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹

Private

Sub

D11

(

)

Dim

A

As

Integer

B%

As

Integer

Const

D

As

Single

A

=

(

B%

B%

)

^

If

(

(

IsNumeric

(

A

)

<>

and

A

>

)

Then

A

=

B

EndIf

Text

.

Text

=

A

End

Sub

ΠžΡ‚Π»Π°Π΄ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ

ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ — это процСсс прСобразования Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΊ Π²ΠΈΠ΄Ρƒ, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°.

Π’ ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ΅ 42 ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ²:

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° =<

uslovie

(

=<

Рис. 13. ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Ρ‚ΠΈΠΏΠ° =<

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ этот ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, рассмотрим Π΅Π³ΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

Из Ρ€ΠΈΡΡƒΠ½ΠΊΠ° 3.13 Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ символом «(«ΠΈ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ uslovie ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Ρ‚ΠΈΠΏΠ° =<. Π§Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» uslovie Π²Π½ΠΈΠ· ΠΏΠΎ Π΄Π΅Ρ€Π΅Π²Ρƒ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠ΅ΠΆΠ΄Ρƒ символами «(«ΠΈ uslovie ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ <.

ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ этого Ρ‚ΠΈΠΏΠ° Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ.

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Ρ‚ΠΈΠΏΠ° =>

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ этого Ρ‚ΠΈΠΏΠ°, Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ символами Π’ody ΠΈ Π•nd. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 15.

End

Π’ody

=>

Рис. 15. ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Ρ‚ΠΈΠΏΠ° =>

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

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

Π—Π°Π΄Π°Ρ‡ΠΈ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°:

1) Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ синтаксичСских Π΅Π΄ΠΈΠ½ΠΈΡ†;

2) ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ всСх синтаксичСских ошибок (Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ);

3) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стандартных символов (Π’Π‘Π‘) Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ„ΠΎΡ€ΠΌΡƒ прСдставлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π’Π€ΠŸΠŸ).

Π‘Ρ…Π΅ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°

Π‘Ρ…Π΅ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ простого ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π² Π³Ρ€Π°Ρ„ичСском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (лист1).

ΠŸΡ€ΠΈΠ½ΡΡ‚Ρ‹Π΅ обозначСния:

X — массив символов Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ;

MP — ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° простого ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π½Ρ;

P — мноТСство ΠΏΡ€Π°Π²ΠΈΠ» Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ язык;

ST — стСк для опрСдСлСния хвоста основы;

ST1 — стСк для опрСдСлСния Π³ΠΎΠ»ΠΎΠ²Ρ‹ основы;

TL — тСкущая Π»ΠΈΡ‚Π΅Ρ€Π°;

NTL — Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π»ΠΈΡ‚Π΅Ρ€Ρ‹;

OSN — массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒΡΡ основа;

NOSN — количСство символов Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ OSN (Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ количСство символов Π² ΠΎΡΠ½ΠΎΠ²Π΅);

A->?, Π³Π΄Π΅? — ΠΏΡ€Π°Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°, которая совпадаСт с ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ OSN, A — лСвая Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ замСняСтся основа;

REZ — Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ основу Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ½Π΅Ρ† основы, Π° Π·Π°Ρ‚Π΅ΠΌ Π΅Π΅ Π½Π°Ρ‡Π°Π»ΠΎ, послС Ρ‡Π΅Π³ΠΎ выдСляСтся основа (Π±Π»ΠΎΠΊΠΈ J2 — O8).

Если послС выдСлСния строки OSN находится ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ правая Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° совпадаСт с OSN Ρ‚ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ REZ присваиваСтся 1, Ссли Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π΅Ρ‚ — ошибка, синтаксичСский Π°Π½Π°Π»ΠΈΠ· ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ ΠΈΠ»ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ (Π±Π»ΠΎΠΊ R8).

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ выполняСмыС Π½Π°Π΄ строковыми ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ:

st.push (i) — ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ элСмСнт i Π² ΡΡ‚Π΅ΠΊ;

st.pop () — ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°;

st.top () — ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ стСка;

st.nst () — ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ количСство элСмСнтов Π² ΡΡ‚Π΅ΠΊΠ΅.

Π Π°Π±ΠΎΡ‚Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° прСдставлСна Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° Π² Π³Ρ€Π°Ρ„ичСском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (лист1).

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

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

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