Foxsaurus & Khaelen
Khaelen Khaelen
Π―Π·Ρ‹ΠΊ – ΠΏΠΎ сути, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. КаТдоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ – функция, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ синтаксичСский ΠΎΠ±ΠΎΡ€ΠΎΡ‚ – ΠΏΠ°ΠΊΠ΅Ρ‚. Π₯ΠΎΡ‡Π΅ΡˆΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ структуру, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ модСль?
Foxsaurus Foxsaurus
Π—Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π·Π±ΠΎΡ€ ΠΏΠΎΠ»Ρ‘Ρ‚ΠΎΠ² Π½Π° всю Π³Π°Π»Π°ΠΊΡ‚ΠΈΠΊΡƒ – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ смотри, Ρ‡Ρ‚ΠΎΠ±Ρ‹ синтаксис Π½Π΅ сломался. Π”Π°Π²Π°ΠΉ структуру, я ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‡Ρƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».
Khaelen Khaelen
Π’ΠΎΡ‚ краткая Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° Π² стилС EBNF для простого языка программирования: ``` <ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°> ::= { <ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€> } <ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€> ::= <присваиваниС> | <Π²Ρ‹Π·ΠΎΠ²_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ> | <условный_ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€> | <Ρ†ΠΈΠΊΠ»_while> <присваиваниС> ::= <ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€> '=' <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> ';' <Π²Ρ‹Π·ΠΎΠ²_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ> ::= <ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€> '(' [ <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> { ',' <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> } ] ')' ';' <условный_ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€> ::= 'if' '(' <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> ')' '{' <ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°> '}' [ 'else' '{' <ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°> '}' ] <Ρ†ΠΈΠΊΠ»_while> ::= 'while' '(' <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> ')' '{' <ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°> '}' <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> ::= <Ρ‡Π»Π΅Π½> { ('+' | '-') <Ρ‡Π»Π΅Π½> } <Ρ‡Π»Π΅Π½> ::= <ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ> { ('*' | '/') <ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ> } <ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ> ::= <число> | <ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€> | '(' <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> ')' <ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€>::= Π±ΡƒΠΊΠ²Π° { Π±ΡƒΠΊΠ²Π° | Ρ†ΠΈΡ„Ρ€Π° | '_' } <число> ::= Ρ†ΠΈΡ„Ρ€Π° { Ρ†ΠΈΡ„Ρ€Π° } ``` МоТСшь ΠΏΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΉΡ‚ΠΈ уязвимости ΠΈ ΠΏΠΎΡ„Π°Π½Ρ‚Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ‚Π΅ΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°.