Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

ΠŸΡ€ΠΎΡΡ‚Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса β€” Наура (БНЀ)

ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π½Π° вопросы: Π§Ρ‚ΠΎ это? Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ? ΠŸΡ€Π°Π²ΠΈΠ»Π° написания ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования.

Backus–Naur form ΠΈΠ»ΠΈ Backus normal form (BNF) это Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма описания синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. БНЀ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания контСкстно-свободных Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания синтаксиса языков программирования, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½Π°Π±ΠΎΡ€ΠΎΠ² инструкций ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² связи. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ описаниС синтаксиса: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… спСцификациях, руководствах ΠΈ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°Ρ….

Π’Π°ΠΊ ΠΆΠ΅ сущСствуСт Π΅Ρ‰Ρ‘ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса β€” Наура, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π°ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Ρ‘ΠΌΠΊΠΈΠΌΠΈ конструкциями.

Π’Π΅Ρ€ΠΌΠΈΠ½Ρ‹:

БНЀ-конструкция опрСдСляСт ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ число Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² (символов) ΠΈ опрСдСляСт ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π°ΠΌΠ΅Π½Ρ‹ символа Π½Π° ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² (Π±ΡƒΠΊΠ²) ΠΈ символов.

Π—Π° процСсс построСния Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π±ΡƒΠΊΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ поэтапно:

Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², получаСтся Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°, состоящая ΠΈΠ· Π±ΡƒΠΊΠ² ΠΈ Π½Π΅ содСрТащая символов.

БущСствуСт мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ синтаксиса, Π² частности Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Бэкуса β€” Наура (РБНЀ) ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ условноС Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ конструкций БНЀ.

ΠžΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ конструкции.

БНЀ-конструкция ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ скобочной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

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

Бинтаксис БНЀ прСдставлСнный БНЀ-конструкциСй (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Π°)

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρƒ пСрвоклассников, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΡ‡Π°Ρ‚, Ρ‡Ρ‚ΠΎ сначала Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° ΡƒΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ слоТСниС β€” ΠΈ сначала дСйствия Π² скобках, Π° ΠΏΠΎΡ‚ΠΎΠΌ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ β€” Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с этим ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠΌ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Π° Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Β«Ρ€ΠΎΠ±ΠΎΡ‚Π°Β», Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΎΠΆΠ΅ самоС, Π½ΡƒΠΆΠ½Ρ‹ особСнныС (Π½Π΅ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ β€” Π½Π΅ Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ слоТныС, Π° Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ своими силами Π΄ΠΎ Π½ΠΈΡ… Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π΅ Ρ‚Π°ΠΊ-Ρ‚ΠΎ просто Π΄ΠΎΠΉΡ‚ΠΈ) Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ инструмСнты?

Зададимся нСсколькими Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ риторичСскими вопросами ΠΈΠ· Ρ‚ΠΎΠΉ ΠΆΠ΅ сСрии:

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°Π²Ρ‹ΠΊ распознавания скобочных структур (Ρƒ людСй) опираСтся Π½Π° встроСнный Β«Ρ€Π΅Ρ‡Π΅Π²ΠΎΠΉ процСссор».

ΠžΡ‚Ρ†ΠΎΠΌ-основатСлСм Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΎ Π²Ρ€ΠΎΠΆΠ΄Ρ‘Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°Ρ… производства ΠΈ восприятия языка (Ρ€Π΅Ρ‡ΠΈ) являСтся амСриканский лингвист Ноам Π₯омский.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Ноам Π₯омский β€” Β«Π½Π°ΡƒΡ‡Π½Ρ‹ΠΉ Π΄Π΅Π΄ΡƒΡˆΠΊΠ°Β» всСх языков высокого уровня β€” Π»ΡŽΠ±ΠΈΡ‚ интСрСсно ΠΏΠΎΡ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ Π½Π° ΠΈ Π½Π° ΠΎΠ±Ρ‰ΠΈΠ΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹.

Π₯омский Ρ€Π΅Π·ΡŽΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π³ΠΎΠ΄Ρ‹ своСй (Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ) Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠ½ΠΈΠ³Π΅ «БинтаксичСскиС структуры» Π² 1957 Π³ΠΎΠ΄Ρƒ.

Π’ Ρ‚ΠΎΠΌ ΠΆΠ΅ Π³ΠΎΠ΄Ρƒ Π”ΠΆΠΎΠ½ Бэкус (ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ BNF, Backus normal form, Β«Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Бэкуса», ΠΊ описанию ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ вскорС ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ) создаёт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ язык программирования высокого уровня Β«Π€ΠΎΡ€Ρ‚Ρ€Π°Π½Β».

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π”ΠΆΠΎΠ½ Бэкус Π½Π° Ρ„ΠΎΠ½Π΅ своСго творСния.

ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса (BNF)

ВаТная ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΠ°: Π΄Π°Π»Π΅Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ

Для Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ записи Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… языков ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС Ρ‚Π°ΠΊ называСмая Β«Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса» (backus normal form, BNF).

BNF сама ΠΏΠΎ сСбС являСтся (достаточно простым) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ языком.

BNF состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€Π°Π²ΠΈΠ» Π²Ρ‹Π²ΠΎΠ΄Π° для Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов (Β«Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ²Β»), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ (послС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ-рСкурсивного примСнСния ΠΏΡ€Π°Π²ΠΈΠ», Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅) ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Бостав Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ кондитСрского издСлия

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Ρ‹Π²ΠΎΠ΄Π°

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Для ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ символ ; :

ΠŸΡƒΡΡ‚Π°Ρ строка

ΠŸΡƒΡΡ‚Π°Ρ строка (отсутствиС символа) обозначаСтся Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ Π»Π΅ΠΊΡ†ΠΈΠΉ символом Ξ΅ (эпсилон, ΠΎΡ‚ английского empty).

ΠŸΡƒΡΠΊΠ°ΠΉ Π² нашСм Β«Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π½ΠΎΠΌ языкС» Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ строки Π²ΠΈΠ΄Π° β€œ100 рублСй”, β€œ100 Ρ€ΡƒΠ±Π»Π΅ΠΉ ΠΈ прСмия” ΠΈ β€œβ€ (пустая строка).

Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ такая

Иногда Ξ΅ Π½Π΅ ΠΏΠΈΡˆΡƒΡ‚, ΠΈ остаётся просто пустоС мСсто. Π’Π°ΠΊ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ.

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык β€” это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Β«Ρ„Ρ€Π°Π·Β» (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ строк), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·ΡΡ‚ΡŒ стартовый символ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» BNF) ΠΈ провСсти Π½Π°Π΄ Π½ΠΈΠΌ ряд Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹Ρ… Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, придя Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΊ строкС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ лишь ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… символов. Π’ΠΎΡ‚ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ всСх строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΈ Π΅ΡΡ‚ΡŒ наш Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык.

И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚: любая строка нашСго языка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ «свёрнута» Π΄ΠΎ стартового символа Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Ссли ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ достаточноС число Ρ€Π°Π· ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° «справа Π½Π°Π»Π΅Π²ΠΎΒ».

Β«ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚Β», ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ такая свёртка ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ (ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ мСсту исходной строки Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹) составляСт Π΄Π΅Ρ€Π΅Π²ΠΎ парсинга (parse tree) Π΄Π°Π½Π½ΠΎΠΉ строки.

Если для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки языка ΠΏΡ€ΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ΅ сущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ парсинга, Ρ‚ΠΎ такая Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° называСтся Β«ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΉΒ».

НапримСр, наивная Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° инфиксных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ являСтся ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΉ.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ Π²ΠΈΠ΄Π° Β«1 ΠΈ Π±ΠΎΠ»Π΅Π΅Β»

BNF ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ контСкстно ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡƒΡŽ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² ΠΎΠ±Ρ‰Π΅ΠΌ смыслС Π±ΠΎΠ»Π΅Π΅ мощная Ρ„ΠΎΡ€ΠΌΠ° записи Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Ρ‡Π΅ΠΌ рСгулярныС выраТСния.

Π’ BNF ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСкурсии.

Допустим, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠ°ΠΊ Ρ‚ΠΎ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ являСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ:

Π‘Π»ΠΎΠ²Π° β€œ1 ΠΈ болСС” Π²Ρ‹Ρ€Π°Π·ΠΈΠΌ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π²ΠΎΡ‚ ΠΊΠ°ΠΊ:

Π’ самом Π΄Π΅Π»Π΅, Π²ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠΌ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€ΠΎΠ±ΠΎΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ строит Π·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎ структурС, опрСдСляСмой Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π½Ρ„ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

ΠΠ΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами ΠΏΡ€ΠΈ этом Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ «мысли» этого Π±ΠΎΡ‚Π°, Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ β€” Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚.

Π”Π°Π»ΡŒΡˆΠ΅ Ρƒ Π½Π΅Π³ΠΎ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° развития событий:

Π’Π°ΠΆΠ½ΠΎ Π΅Ρ‰Ρ‘ Ρ€Π°Π· ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° языка Π² своём Β«ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΌΒ» аспСктС Π½Π°Ρ†Π΅Π»Π΅Π½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Β«ΠΏΡ€ΠΎΡ‡Π΅Ρ€Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ²Β» Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… строк Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ языка.

НС Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ «зацикливаСтся» ΠΈ, Π² зависимости ΠΎΡ‚ настроСния, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π·Π΄Π°Π½ΠΈΠ΅ с Π»ΡŽΠ±Ρ‹ΠΌ количСством этаТСй (Π½ΠΎ ΠΎΠ΄ΠΈΠ½ этаТ ΠΆΠ΅Π»Π΅Π·Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚). Π§Ρ‚ΠΎ Π½Π°ΠΌ ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ.

Π˜Ρ‚Π°ΠΊ, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, для создания ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ‚ΠΈΠΏΠ° β€œ1 ΠΈ Π±ΠΎΠ»Π΅Π΅ x” трСбуСтся ввСсти ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ условноС):

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ Π²ΠΈΠ΄Π° Β«0 ΠΈ Π±ΠΎΠ»Π΅Π΅Β»

Для ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ‚ΠΈΠΏΠ° β€œ0 ΠΈ Π±ΠΎΠ»Π΅Π΅ x” трСбуСтся ввСсти ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ условноС):

НС ΡƒΠ³Π»ΡƒΠ±Π»ΡΡΡΡŒ Π² тонкости ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² shift-reduce ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Ρ… Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для стартового символа.

Rule of thumb Π²ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠΉ: Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² качСствС ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅Ρ‚ΠΎΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ξ΅ ΠΈ большС Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ стартового ΠΏΡ€Π°Π²ΠΈΠ»Π°.

Π’ΠΎ Π΅ΡΡ‚ΡŒ Ξ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Β«Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°Β». ΠŸΠ»ΠΎΡ…ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΡƒΡŽ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ:

Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° однозначная β€” «свёртка» ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько элСмСнтов Π² массивС.

ΠŸΠ»ΠΎΡ…Π°Ρ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° нСоднозначная β€” «свёртка» ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ Ρ€Π°Π·, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ число Ρ€Π°Π· ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ послСднСй Π²Π΅Ρ‚ΠΊΠΈ.

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, для создания ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ‚ΠΈΠΏΠ° β€œ0 ΠΈ Π±ΠΎΠ»Π΅Π΅ x” трСбуСтся:

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ Π²ΠΈΠ΄Π° Β«0 ΠΈΠ»ΠΈ 1Β»

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ Π²ΠΈΠ΄Π° 0 ΠΈΠ»ΠΈ 1 «x» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ, создав Π½ΠΎΠ²Ρ‹ΠΉ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» :

НС слСдуСт ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²ΠΈΠ΄Π° Β«0 ΠΈΠ»ΠΈ 1Β» ΠΈ Β«1 ΠΈ Π±ΠΎΠ»Π΅Π΅Β» для прСдотвращСния случайных ошибок Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΏΡ€Π°Π²ΠΈΠ» Π²Ρ‹Π²ΠΎΠ΄Π°.

ΠšΠ»Π°ΡΡΡ‹ символов

Π’ практичСских цСлях ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΈΠ΅ излишнС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΈ повсСмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ опрСдСлСния Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ². НапримСр, Ρ†ΠΈΡ„Ρ€Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ:

ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»Π΅ΠΊΡ†ΠΈΠΈ, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ BNF, Π΄ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ эти опрСдСлСния (ΠΊ Ρ‚ΠΎΠΌΡƒ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΌΠ°Π»ΠΎ значСния для практичСской Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ парсСров), ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ просто слова number ΠΈ digit :

ΠŸΡ€ΠΈ этом слова number ΠΈ digit Π½Π΅ бСрутся Π½ΠΈ Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки, Π½ΠΈ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π‘ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ-тСорСтичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния это Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅), Π° с практичСской обрабатываСтся ΠΊΠ°ΠΊ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ символ.

ЛСворСкурсивныС ΠΈ праворСкурсивныС ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Ρ‹Π²ΠΎΠ΄Π°

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прямо ΠΈΠ»ΠΈ опосрСдовано содСрТит ссылку Π½Π° само сСбя Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅Ρ‚ΠΎΠΊ, называСтся «лСворСкурсивным»:

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прямо ΠΈΠ»ΠΈ опосрСдовано содСрТит ссылку Π½Π° само сСбя Π² качСствС послСднСго символа ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅Ρ‚ΠΎΠΊ, называСтся «праворСкурсивным»:.

Π”ΠΈΠ°Π»Π΅ΠΊΡ‚Ρ‹ BNF

БущСствуСт Π΄Π²Π΅ распространённых Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ/ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ BNF: EBNF ΠΈ ABNF.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… срСдств для создания языков программирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ BNF.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ спСцификация ряда соврСмСнных языков программирования содСрТит Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π΅ BNF.

Π’ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ языкам программирования ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ BNF.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ IETF, зафиксированы Π½Π° Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π΅ BNF.

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° BNF Π² BNF

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Π²ΠΈΠ΄ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ BNF Π² BNF, с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ:

string β€” любая строка, Π½Π΅ содСрТащая ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, ΠΈΠ»ΠΈ ΠΎΠ΄Π½Π° ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ° » ;
identifier β€” любая строка, Π½Π΅ содСрТащая ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобок;

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

Π€ΠΎΡ€ΠΌΠ° Бэкуса-Наура

Π€ΠΎΡ€ΠΌΠ° Бэкуса—Наура (сокр. БНЀ, Бэкуса—Наура Ρ„ΠΎΡ€ΠΌΠ°) β€” Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма описания синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. БНЀ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания контСкстно-свободных Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ.

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

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

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания синтаксиса языков программирования, Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… рСгулярныС Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ подмноТСством контСкстно-свободных).

ОписаниС

ВСрминология этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ.

БНЀ-конструкция опрСдСляСт ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ число символов (Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ²). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½Π° опрСдСляСт ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π°ΠΌΠ΅Π½Ρ‹ символа Π½Π° ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠΊΠ² (Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ²) ΠΈ символов. ΠŸΡ€ΠΎΡ†Π΅ΡΡ получСния Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π±ΡƒΠΊΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ поэтапно: ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ имССтся ΠΎΠ΄ΠΈΠ½ символ (символы ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки, Π° ΠΈΡ… Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π΅ нСсёт Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ). Π—Π°Ρ‚Π΅ΠΌ этот символ замСняСтся Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠΊΠ² ΠΈ символов, согласно ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ». Π—Π°Ρ‚Π΅ΠΌ процСсс повторяСтся (Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС ΠΎΠ΄ΠΈΠ½ ΠΈΠ· символов замСняСтся Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, согласно ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ). Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², получаСтся Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°, состоящая ΠΈΠ· Π±ΡƒΠΊΠ² (ΠΈ Π½Π΅ содСрТащая символов). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ получСнная Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа.

БНЀ-конструкция состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²ΠΈΠ΄Π°

, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π’Π°ΠΊΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ символ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ посл.1. Π—Π½Π°ΠΊ опрСдСлСния, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит ΠΊΠ°ΠΊ ::=, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹.

НСкоторыС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС β€” ΠΏΡƒΡΡ‚ΡƒΡŽ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ конструкций

Π’ΠΎΡ‚, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой конструкции Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ((())())() (Π½ΠΈΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ всС этапы, символы ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ):

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

ПолСзноС

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «Π€ΠΎΡ€ΠΌΠ° Бэкуса-Наура» Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

Π€ΠΎΡ€ΠΌΠ° Бэкуса β€” Наура β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. БНЀ. Π€ΠΎΡ€ΠΌΠ° Бэкуса Наура (сокр. БНЀ, Бэкуса Наура Ρ„ΠΎΡ€ΠΌΠ°) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма описания синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. БНЀ… … ВикипСдия

Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма описания синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания синтаксиса языков программирования, Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ². БНЀ конструкция опрСдСляСт… … Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса β€” Наура β€” (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Бэкус Наурова Ρ„ΠΎΡ€ΠΌΠ° (РБНЀ)) (Π°Π½Π³Π». Extended Backus–Naur Form (EBNF)) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма опрСдСлСния синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания контСкстно… … ВикипСдия

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма описания синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅: Бинтаксис языков программирования Ѐинансовый ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π€ΠΈΠ½Π°ΠΌ … Ѐинансовый ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Бэкус Наурова Ρ„ΠΎΡ€ΠΌΠ° (РБНЀ)) (Π°Π½Π³Π». Extended Backus–Naur Form (EBNF)) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма опрСдСлСния синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания контСкстно… … ВикипСдия

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса—Наура β€” (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Бэкус Наурова Ρ„ΠΎΡ€ΠΌΠ° (РБНЀ)) (Π°Π½Π³Π». Extended Backus–Naur Form (EBNF)) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма опрСдСлСния синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания контСкстно… … ВикипСдия

дополнСнная Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” Наглядная Ρ„ΠΎΡ€ΠΌΠ° прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для задания Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ (МБЭ Π’ T.808). [http://www.iks media.ru/glossary/index.html?glossid=2400324] Π’Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΡΠ²ΡΠ·ΡŒ, основныС понятия EN augmented Backus Naur formABNF … Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” БНЀ Нотация (мСтаязык) для записи синтаксиса языков программирования. [Π“ΠžΠ‘Π’ Π  54456 2011] Π’Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅, Ρ€Π°Π΄ΠΈΠΎΠ²Π΅Ρ‰Π°Π½ΠΈΠ΅, Π²ΠΈΠ΄Π΅ΠΎ Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹ БНЀ EN Backus Normal FormBNF … Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ БНЀ Бпособ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ опрСдСлСния Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ, элСмСнтов ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² языка программирования. [http://www.morepc.ru/dict/] Π’Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ БНЀ EN EBNFExtended Backus Naur Form … Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

Π€ΠΎΡ€ΠΌΠ° Бэкуса β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. БНЀ. Π€ΠΎΡ€ΠΌΠ° Бэкуса Наура (сокр. БНЀ, Бэкуса Наура Ρ„ΠΎΡ€ΠΌΠ°) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма описания синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. БНЀ… … ВикипСдия

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

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ

12.1. Π”Ρ€ΡƒΠ³ΠΈΠ΅ рСгулярныС выраТСния

ΠœΡ‹ рассмотрСли основныС области примСнСния рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

Однако ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ области примСнСния рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Об ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… Π°Π²Ρ‚ΠΎΡ€ расскаТСт Π½ΠΈΠΆΠ΅.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ синтаксиса Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² XML

DTD Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ: » document type definition » ( ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ). ВсС допустимыС для языка, описываСмого XML, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ (элСмСнты ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹) ΠΈ всС ΠΏΡ€Π°Π²ΠΈΠ»Π° (иСрархия влоТСнности ΠΈ Ρ‚.ΠΏ.) Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ» DTD. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ± DTD ΠΈ XML см. [43]. Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄Π΅Ρ‚ рассказано Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ, которая касаСтся рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

ВсС объявлСния Ρ‚ΠΈΠΏΠΎΠ² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π½Π°Π±ΠΎΡ€Π° символов: ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌΡƒ элСмСнту Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Π½Π° XML-совмСстимом языкС ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Π² DTD. Бинтаксис объявлСния элСмСнта ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Π’ΡƒΡ‚ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ самому Π³Π»Π°Π²Π½ΠΎΠΌΡƒ: элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π² Π­Π’Πœ Ρ‚ΠΈΠΏΠΎΠΌ, Π½ΠΎ ΠΈ рСгулярным Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π² сСбя Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты!

Π’ качСствС ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ символы:

ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ элСмСнт JDATA Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт OBJECT ;

Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΡƒΠΉΡ‚Π΅ это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ сами;

Как ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ нотация РБНЀ ΠΈ нотация DTD ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ. Но, Ссли РБНЀ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ собой Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ ΠΈ основанный Π½Π° Π½Π΅ΠΉ язык, Ρ‚ΠΎ DTD слуТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для опрСдСлСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° XML Ρ„Π°ΠΉΠ»Π°.

ΠŸΡ€ΠΈ этом адрСс содСрТит:

Π’ этом случаС РБНЀ для адрСсной ΠΊΠ½ΠΈΠ³ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

Π’Π° ΠΆΠ΅ запись Π½Π° DTD Π±ΡƒΠ΄Π΅Ρ‚:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ структуры записи Π² адрСсной ΠΊΠ½ΠΈΠ³Π΅ :

Как ΠΈ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ, Ρ‚Π°ΠΊ ΠΈ XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Π½Π° ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ.

12.2. Бэкусовская Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (БНЀ)

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ особСнности БНЀ :

НапримСр, Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 01 «ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

12.3. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ БНЀ (РБНЀ)

Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΠΈΡ… участиСм записываСтся ΠΊΠ°ΠΊ:

Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ выраТСния Π² Π½ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ ΠΎΡ‚ 0 Π΄ΠΎ бСсконСчности, ΠΈΠ»ΠΈ согласно ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ:

ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки

Π’ Π½ΠΈΡ… Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅Π΅ΡΡ ноль ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

ΠšΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½

ΠœΠ΅Ρ‚Π°ΡΠΈΠΌΠ²ΠΎΠ»Ρ‹ ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ символы

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈΠ· (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 01 «ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ» ) Π² РБНЀ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 06 «ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ» Π² РБНЀ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Однако Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 06 ΠΊ рСгулярной Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ΅, Π΅Π³ΠΎ слСдуСт Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

12.4. РСзюмС

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, Π² этом ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ «Π·Π° Π±ΠΎΡ€Ρ‚ΠΎΠΌ» ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ мноТСство интСрСсных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Π­Ρ‚ΠΎ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ «ΡΠΊΡΠΏΠ΅Ρ€Ρ‚Π½Ρ‹Ρ… систСм», » сСмантичСских сСтСй «, «Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ²», Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ построСния » трансляторов » с языков программирования, Ρ€Π°Π·Π±ΠΎΡ€Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° «Π΅ΡΡ‚СствСнных языках» ΠΈ Ρ‚.ΠΏ.. Π—Π° этими Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ Π°Π²Ρ‚ΠΎΡ€ отсылаСт ΠΊ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΏΠΎ искусствСнному ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΈ Π²ΠΎ всСмирной сСти.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ самоС врСмя ΠΎΡ‚Π΄ΠΎΡ…Π½ΡƒΡ‚ΡŒ, Π²Ρ‹ΠΏΠΈΡ‚ΡŒ Ρ‡Π°ΡˆΠΊΡƒ ΠΊΠΎΡ„Π΅, ΠΈ … Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ!

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

Π€ΠΎΡ€ΠΌΠ° Бэкуса β€” Наура

Π€ΠΎΡ€ΠΌΠ° Бэкуса β€” Наура

Π€ΠΎΡ€ΠΌΠ° Бэкуса—Наура (сокр. БНЀ, Бэкуса—Наура Ρ„ΠΎΡ€ΠΌΠ°) β€” Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма описания синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. БНЀ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания контСкстно-свободных Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ.

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

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

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания синтаксиса языков программирования, Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… RFC) ΠΈ Ρ‚. Π΄. (ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠ°ΠΊ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Ρ‚Π°ΠΊ ΠΈ рСгулярной лСксики, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ рСгулярныС Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ подмноТСством контСкстно-свободных).

ОписаниС

ВСрминология этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ.

БНЀ-конструкция опрСдСляСт ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ число символов (Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ²). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½Π° опрСдСляСт ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π°ΠΌΠ΅Π½Ρ‹ символа Π½Π° ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠΊΠ² (Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ²) ΠΈ символов. ΠŸΡ€ΠΎΡ†Π΅ΡΡ получСния Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π±ΡƒΠΊΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ поэтапно: ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ имССтся ΠΎΠ΄ΠΈΠ½ символ (символы ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки, Π° ΠΈΡ… Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π΅ нСсёт Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ). Π—Π°Ρ‚Π΅ΠΌ этот символ замСняСтся Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠΊΠ² ΠΈ символов, согласно ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ». Π—Π°Ρ‚Π΅ΠΌ процСсс повторяСтся (Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС ΠΎΠ΄ΠΈΠ½ ΠΈΠ· символов замСняСтся Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, согласно ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ). Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², получаСтся Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°, состоящая ΠΈΠ· Π±ΡƒΠΊΠ² (ΠΈ Π½Π΅ содСрТащая символов). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ получСнная Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа.

БНЀ-конструкция состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²ΠΈΠ΄Π°

, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π’Π°ΠΊΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ символ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ посл.1. Π—Π½Π°ΠΊ опрСдСлСния, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит ΠΊΠ°ΠΊ ::=, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹.

НСкоторыС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС β€” ΠΏΡƒΡΡ‚ΡƒΡŽ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ конструкций

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой конструкции Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ((())())() (Π½ΠΈΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ всС этапы, символы ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ):

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

ПолСзноС

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «Π€ΠΎΡ€ΠΌΠ° Бэкуса β€” Наура» Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

Π€ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” (сокр. БНЀ, Бэкуса Наура Ρ„ΠΎΡ€ΠΌΠ°) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма описания синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. БНЀ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания контСкстно свободных Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ.… … ВикипСдия

Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма описания синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания синтаксиса языков программирования, Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ². БНЀ конструкция опрСдСляСт… … Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

Π€ΠΎΡ€ΠΌΠ° Бэкуса β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. БНЀ. Π€ΠΎΡ€ΠΌΠ° Бэкуса Наура (сокр. БНЀ, Бэкуса Наура Ρ„ΠΎΡ€ΠΌΠ°) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма описания синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. БНЀ… … ВикипСдия

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса β€” Наура β€” (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Бэкус Наурова Ρ„ΠΎΡ€ΠΌΠ° (РБНЀ)) (Π°Π½Π³Π». Extended Backus–Naur Form (EBNF)) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма опрСдСлСния синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания контСкстно… … ВикипСдия

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма описания синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅: Бинтаксис языков программирования Ѐинансовый ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π€ΠΈΠ½Π°ΠΌ … Ѐинансовый ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Бэкус Наурова Ρ„ΠΎΡ€ΠΌΠ° (РБНЀ)) (Π°Π½Π³Π». Extended Backus–Naur Form (EBNF)) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма опрСдСлСния синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания контСкстно… … ВикипСдия

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса—Наура β€” (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Бэкус Наурова Ρ„ΠΎΡ€ΠΌΠ° (РБНЀ)) (Π°Π½Π³Π». Extended Backus–Naur Form (EBNF)) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма опрСдСлСния синтаксиса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ΄Π½ΠΈ синтаксичСскиС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания контСкстно… … ВикипСдия

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса β€” Π­Ρ‚Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ слСдуСт Π²ΠΈΠΊΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ Π΅Ρ‘ согласно ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ оформлСния статСй. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса Наура (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Бэкус Наурова Ρ„ΠΎΡ€ΠΌΠ° (РБНЀ)) (Π°Π½Π³Π». Extended Backus–Naur Form (EBNF)) Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ систСма опрСдСлСния… … ВикипСдия

дополнСнная Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” Наглядная Ρ„ΠΎΡ€ΠΌΠ° прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для задания Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ (МБЭ Π’ T.808). [http://www.iks media.ru/glossary/index.html?glossid=2400324] Π’Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΡΠ²ΡΠ·ΡŒ, основныС понятия EN augmented Backus Naur formABNF … Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бэкуса-Наура β€” БНЀ Нотация (мСтаязык) для записи синтаксиса языков программирования. [Π“ΠžΠ‘Π’ Π  54456 2011] Π’Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅, Ρ€Π°Π΄ΠΈΠΎΠ²Π΅Ρ‰Π°Π½ΠΈΠ΅, Π²ΠΈΠ΄Π΅ΠΎ Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹ БНЀ EN Backus Normal FormBNF … Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

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

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

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