Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовая работа. Вариант 16 / kurs / INFO
.TXT #Љ®¬ЇЁ«пв®а п§лЄ C-light(Ї®¤Є« бб C)
(c) Copyright 2001, MK-Soft & SLabs
Ђўв®а: ЊЁе Ё« Љ®«ҐбЁЄ®ў (830508)
ЂбЁбвҐв: Ђ«ҐЄбҐ© ‘¬Ёа®ў (8305xx)
Ђ«мд -вҐбвҐа: ЊЁе Ё« Љ®«ҐбЁЄ®ў
ЃҐв -вҐбвҐа: Ђ«ҐЄбҐ© ‘¬Ёа®ў
:::‘ЇҐжЁдЁЄ жЁп п§лЄ C-light (ЃЌ”):
*** ’ЁЇл:
int - 楫®Ґ зЁб«® [-32768, +32767]
float - [ (3.4 * (10**-38) , 3.4 * (10**+38) ]
fmatr - вЁЇ ўҐйҐб⢥ле ¬ ваЁж
<Ё¤ҐвЁдЁЄ в®а> = id
<楫®Ґ_зЁб«®> = num
<ўҐйҐб⢥®Ґ зЁб«®> = fnum
<Ё¤ҐвЁдЁЄ в®а>::= <ЎгЄў ><Їа®¤®«¦ҐЁҐ>
<Їа®¤®«¦ҐЁҐ>::= <Їа®¤®«¦ҐЁҐ><ЎгЄў >
| <Їа®¤®«¦ҐЁҐ><жЁда >
| <ЎгЄў >
| <жЁда >
<ЎгЄў >::= A..Z a..z _
<жЁда >::= 0..9
Њ ЄбЁ¬ «мл© а §¬Ґа Ё¤ҐвЁдЁЄ в®а 32
<楫®Ґ_зЁб«®>::= + <®Є®з ЁҐ>
| - <®Є®з ЁҐ>
| <®Є®з ЁҐ>
<®Є®з ЁҐ>::= <®Є®з ЁҐ> <жЁда >
| <жЁда >
<ўҐйҐб⢥®Ґ_зЁб«®>::= <楫®Ґ_зЁб«®> . <¤а®Ў п_з бвм>
| . <¤а®Ў п_з бвм>
| <楫®Ґ_зЁб«®> .
<¤а®Ў п_з бвм>::= <®Є®з ЁҐ>
| <®Є®з ЁҐ> e <楫®Ґ_зЁб«®>
| <®Є®з ЁҐ> E <楫®Ґ_зЁб«®>
*** Џа®Ја ¬¬ ***
<Їа®Ја ¬¬ >::= <Ј«®Ў «м®Ґ_®ЇЁб ЁҐ> void main ( ) <б®бв ў®©_®ЇҐа в®а>
| void main ( ) <б®бв ў®©_®ЇҐа в®а>
<б®бв ў®©_®ЇҐа в®а>::= { <¬®¦Ґбвў®_®ЇҐа в®а®ў> }
| { }
<¬®¦Ґбвў®_®ЇҐа в®а®ў>::=
<®ЇҐа в®а>
| <¬®¦Ґбвў®_®ЇҐа в®а®ў> <®ЇҐа в®а>
<Ј«®Ў «м®Ґ_®ЇЁб ЁҐ>::= <Ј«®Ў «м®Ґ_®ЇЁб ЁҐ> <®Ўкпў«ҐЁп>
| <®Ўкпў«ҐЁп>
<®ЇҐа в®а>::= <¬ҐвЄ > <®ЇҐа в®а_1>
| <®ЇҐа в®а_1>
<¬ҐвЄ >::= id :
<®ЇҐа в®а_1>::= <®ЇҐа в®а_ўў®¤ >
| <®ЇҐа в®а_ўлў®¤ >
| <®ЇҐа в®а_гб«_ЇҐаҐе®¤ >
| <®ЇҐа в®а_ЎҐ§гб«_ЇҐаҐе®¤ >
| <жЁЄ«>
| <®ЇҐа в®а_ЇаЁбў Ёў Ёп>
| <б®бв ў®©_®ЇҐа в®а>
| ;
ЏҐаҐ¬ҐлҐ, Є®бв вл Ё вЁЇл ®Ўкпў«повбп ў Ј«®Ў «м®¬ ®ЇЁб ЁЁ ¤® дгЄжЁЁ main.
Џ®ўв®а®Ґ ®Ўкпў«ҐЁҐ ЇҐаҐ¬Ґле Ё Є®бв в Ґ¤®ЇгбвЁ¬®.
Љ®бв вл Ґ ¬®Јгв Ё§¬Ґпвмбп ў ⥫Ґ Їа®Ја ¬¬л.
‹оЎ®© Ё¤ҐвЁдЁЄ в®а Їа®Ја ¬¬л ¤®«¦Ґ Ўлвм а ҐҐ ®Ўкпў«Ґ.
Љ«озҐўлҐ б«®ў Ґ ¬®Јгв ЁбЇ®«м§®ў вмбп ў Є зҐб⢥ Ё¤ҐвЁдЁЄ в®а®ў.
*** ЋЇҐа в®а ўў®¤ ***
<®ЇҐа в®а_ўў®¤ >::= scan ( <ЇҐаҐ¬ҐлҐ_ўў®¤ > );
<ЇҐаҐ¬ҐлҐ_ўў®¤ >::= <ЇҐаҐ¬Ґ п>
| <ЇҐаҐ¬ҐлҐ_ўў®¤ > , <ЇҐаҐ¬Ґ п>
ЋЇҐа в®а ўў®¤ ®бгйҐбвў«пҐв з⥨Ґ Ё§ бв ¤ ав®Ј® Ї®в®Є ўў®¤ (Є« ўЁ вгал)
§ 票© ЇҐаҐ¬Ґле 楫®Ј® Ё ўҐйҐб⢥®Ј® вЁЇ®ў.
€¤ҐвЁдЁЄ в®ал нвЁе ЇҐаҐ¬Ґле ¤®«¦л Ўлвм ®Ўкпў«Ґл Ё Ґ ¤®«¦л Ўлвм
Є®бв в ¬Ё.
*** ЋЇҐа в®а ўлў®¤ ***
<®ЇҐа в®а_ўлў®¤ >::= print ( <§ 票п_ўлў®¤ > );
<§ 票п_ўлў®¤ >::= < а_ўла ¦ҐЁҐ>
| <§ 票п_ўлў®¤ > , < а_ўла ¦ҐЁҐ>
ЋЇҐа в®а ®бгйҐбвў«пҐв ўлў®¤ ў бв ¤ авл© Ї®в®Є ўлў®¤ , бўп§ л© ®Ўлз® б
нЄа ®¬ ¤ЁбЇ«Ґп. ‚лў®¤ ¬®¦Ґв Ўлвм Є Є ЇҐаҐ¬Ґле, в Є Ё Є®бв в.
*** ЋЇҐа в®а ЎҐ§гб«®ў®Ј® ЇҐаҐе®¤ ***
<®ЇҐа в®а_ЎҐ§гб«_ЇҐаҐе®¤ >::= goto id ;
ЋЇҐа в®а ®бгйҐбвў«пҐв ЎҐ§гб«®ўл© ЇҐаҐе®¤ Є ®ЇҐа в®аг, Ї®¬ҐзҐ®¬г ¬ҐвЄ®© (id).
ЊҐвЄ ¤®«¦ Ўлвм ®Ўкпў«Ґ „Ћ „ЂЌЌЋѓЋ ЋЏ…ђЂ’ЋђЂ, Ё ¤®«¦ Ўлвм гЁЄ «м®© ў
ЇаҐ¤Ґ« е Їа®Ја ¬¬л.
*** ЋЇҐа в®а гб«®ў®Ј® ЇҐаҐе®¤ ***
<®ЇҐа в®а_гб«_ЇҐаҐе®¤ >::= if ( <«®Ј_ўла ¦ҐЁҐ> ) <®ЇҐа в®а>
| if ( <«®Ј_ўла ¦ҐЁҐ> ) <®ЇҐа в®а> else <®ЇҐа в®а>
…б«Ё «®ЈЁзҐбЄ®Ґ ўла ¦ҐЁҐ ў®§ўа й Ґв ЁбвЁг, в® ўлЇ®«пҐвбп ЇҐаўл© ®ЇҐа в®а,
Ё зҐ ўв®а®© ®ЇҐа в®а Ї®б«Ґ ¤ЁаҐЄвЁўл else, Ґб«Ё ® ЇаЁбгвбвўгҐв.
*** ‹®ЈЁзҐбЄ®Ґ ўла ¦ҐЁҐ ***
<«®Ј_ўла ¦ҐЁҐ>::= <«®Ј_ўла ¦ҐЁҐ> <®Ї_а ў®_Ґа ў®> <гб«®ўЁҐ>
| <гб«®ўЁҐ>
<гб«®ўЁҐ>::= < а_ўла ¦ҐЁҐ>
| <гб«®ўЁҐ> <®Ї_ба ўҐЁп> < а_ўла ¦ҐЁҐ>
<®Ї_а ў®_Ґа ў®>::= != | ==
<®Ї_ба ўҐЁп>::= > | < | >= | <=
’ЁЇл ®ЇҐа ¤®ў ба ўҐЁп ¬®Јгв int Ё«Ё float. ђҐ§г«мв в: вЁЇ int, Ј¤Ґ
§ 票Ґ (0) - «®¦м, (1) - ЁбвЁ
*** ЋЇҐа в®а жЁЄ« ***
<жЁЄ«>::= for ( <§ Ј®«®ў®Є_жЁЄ« > ) <®ЇҐа в®а>
<§ Ј®«®ў®Є_жЁЄ« >::= <Ї а ¬Ґва_1> ; <Ї а ¬Ґва_2> ; <Ї а ¬Ґва_3>
| ; <Ї а ¬Ґва_2> ; <Ї а ¬Ґва_3>
| <Ї а ¬Ґва_1> ; ; <Ї а ¬Ґва_3>
| <Ї а ¬Ґва_1> ; <Ї а ¬Ґва_2> ;
| ; ; <Ї а ¬Ґва_3>
| ; <Ї а ¬Ґва_2> ;
| <Ї а ¬Ґва_1> ; ;
| ; ;
<Ї а ¬Ґва_1>::= <®ЇҐа жЁп_ЇаЁбў®ҐЁп>
<Ї а ¬Ґва_2>::= <«®Ј_ўла ¦ҐЁҐ>
<Ї а ¬Ґва_3>::= <®ЇҐа жЁп_ЇаЁбў®ҐЁп>
ЏҐаўл© Ї а ¬Ґва § ¤ Ґв з «м®Ґ § 票Ґ ЇҐаҐ¬Ґ®©, гЇа ў«по饩 жЁЄ«®¬.
…б«Ё «®ЈЁзҐбЄ®Ґ ўла ¦ҐЁҐ (Ї а ¬Ґва_2) ЁбвЁ®, в® ўлЇ®«пҐвбп ®ЇҐа в®а.
Ќ Є ¦¤®¬ и ЈҐ Їа®Ёб室Ёв Ё§¬ҐҐЁҐ гЇа ў«по饩 ЇҐаҐ¬Ґ®© (Ї Ї ¬Ґва_3)
*** ЂаЁд¬ҐвЁзҐбЄЁҐ ‚ла ¦ҐЁп ***
< а_ўла ¦ҐЁҐ>::= < а_ўла ¦ҐЁҐ> <®Ї+-> <б« Ј Ґ¬®Ґ> | <б« Ј Ґ¬®Ґ>
<б« Ј Ґ¬®Ґ>::= <¬®¦ЁвҐ«м> | <б« Ј Ґ¬®Ґ> <®Ї*/> <¬®¦ЁвҐ«м>
<¬®¦ЁвҐ«м>::= ( < а_ўла ¦ҐЁҐ> )
| <ЇҐаҐ¬Ґ п>
| det ( < а_ўла ¦ҐЁҐ> )
| <зЁб«®ў п_Є®бв в >
| transpose ( < а_ўла ¦ҐЁҐ> )
<®Ї+->::= + | -
<®Ї*/>::= * | /
<зЁб«®ў п_Є®бв в >::= inum
| fnum
ќ«Ґ¬Ґв ¬Ё аЁд¬ҐвЁзҐбЄЁе ўла ¦ҐЁ© пў«повбп:
- ЇҐаҐ¬ҐлҐ Ё Є®бв вл 楫®Ј® Ё ўҐйҐб⢥®Ј® вЁЇ
- ¬ ваЁжл
- ®ЇаҐ¤Ґ«ЁвҐ«м ¬ ваЁжл
ЋЇҐа ¤л аЁд¬ҐвЁзҐбЄ®© ®ЇҐа жЁЁ ¤®«¦л Ўлвм ®¤®Ј® вЁЇ . џ§лЄ ¤®ЇгбЄ Ґв
в®«мЄ® ЇаҐ®Ўа §®ў ЁҐ вЁЇ int Є вЁЇг float.
…б«Ё ®ЇҐа ¤л ®ЇҐа жЁЁ - ¬ ваЁжл, в® а §¬Ґа®бвЁ нвЁе ¬ ваЁж ¤®«¦л
ᮮ⢥вбвў®ў вм ¤ ®© ®ЇҐа жЁЁ.
*** ЏҐаҐ¬Ґ п ***
<ЇҐаҐ¬Ґ п>::= id
<ЇҐаҐ¬Ґ п>::= <н«Ґ¬Ґв_¬ ваЁжл>
| <н«Ґ¬Ґв_¬ ббЁў >
<н«Ґ¬Ґв_¬ ваЁжл>::= id [ < а_ўла ¦ҐЁҐ>, < а_ўла ¦ҐЁҐ> ]
<н«Ґ¬Ґв_¬ ббЁў >::= id <Ё¤ҐЄб_¬ ббЁў >
<Ё¤ҐЄб_¬ ббЁў >::= [ < а_ўла ¦ҐЁҐ> ]
| <Ё¤ҐЄб_¬ ббЁў > [ < а_ўла ¦ҐЁҐ> ]
€¤ҐЄбл ¬ ваЁж Ё ¬ ббЁў®ў ¤®«¦л Ўлвм § 票п в®«мЄ® 楫®Ј® вЁЇ .
*** ЋЇҐа в®а ЇаЁбў Ёў Ёп ***
<®ЇҐа в®а_ЇаЁбў Ёў Ёп>::= <®ЇҐа жЁп_ЇаЁбў®ҐЁп> ;
<®ЇҐа жЁп_ЇаЁбў®ҐЁп>::= <ЇҐаҐ¬Ґ п> = < а_ўла ¦ҐЁҐ>
ЏҐаҐ¬Ґ п ў ®ЇҐа в®аҐ ЇаЁб Ёў Ёп ¬®¦Ґв Ўлвм 楫®Ј®, ўҐйҐб⢥®Ј® вЁЇ®ў,
в Є¦Ґ ¬ ваЁжҐ©.
*** ЋЎкпў«ҐЁп ***
<®Ўкпў«ҐЁп>::= <®Ўкпў«ҐЁҐ_ЇҐаҐ¬Ґле_Ё_¬ ббЁў®ў>
| <®Ўкпў«ҐЁҐ_Є®бв в>
| <®Ўкпў«ҐЁҐ_¬ ваЁж>
<®Ўкпў«ҐЁҐ_ЇҐаҐ¬Ґле_Ё_¬ ббЁў®ў>::= <вЁЇ> <бЇЁб®Є_Ё¤ҐвЁдЁЄ в®а®ў> ;
| <вЁЇ> <бЇЁб®Є_¬ ббЁў®ў> ;
<бЇЁб®Є_Ё¤ҐвЁдЁЄ в®а®ў>::= <бЇЁб®Є_Ё¤ҐвЁдЁЄ в®а®ў> , id
| id
<бЇЁб®Є_¬ ббЁў®ў>::= <бЇЁб®Є_¬ ббЁў®ў> , <н«Ґ¬Ґв_¬ ббЁў >
<вЁЇ>::= int | float
<®Ўкпў«ҐЁҐ_Є®бв в>::= const int <бЇЁб®Є_Є®бв в_楫> ;
<®Ўкпў«ҐЁҐ_Є®бв в>::= const float <бЇЁб®Є_Є®бв в_ўҐй> ;
<бЇЁб®Є_Є®бв в_楫>::= <бЇЁб®Є_Є®бв в_楫> , id = num
| id = num
<бЇЁб®Є_Є®бв в_ўҐй>::= <бЇЁб®Є_Є®бв в_ўҐй> , id = fnum
| id = fnum
<®Ўкпў«ҐЁҐ_¬ ваЁж>::= fmatr <бЇЁб®Є_¬ ваЁж>
<бЇЁб®Є_¬ ваЁж>::= <бЇЁб®Є_¬ ваЁж> , id [ num , num ]
| id [ num , num ]
’ЁЇ®¬ ў ®Ўкпў«ҐЁЁ ЇҐаҐ¬Ґле б«г¦Ёв «ЁЎ® int, float.
Љ®бв вл ¬®Јгв Ўлвм в®«мЄ® 楫®Ј® Ё«Ё ўҐйҐб⢥®Ј® вЁЇ .
ЋЎкпў«пҐ¬лҐ ¬ ббЁўл ¬®Јгв Ўлвм ¬®Ј®¬Ґал¬Ё. Њ ЄбЁў «м п а §¬Ґа®бвм 10.
‚ ®Ўкпў«ҐЁЁ ¬ ваЁжл ЇҐаў®Ґ ўла ¦ҐЁҐ § ¤ Ґв Є®«ЁзҐбвў® бва®Є,
ўв®а®Ґ - Є®«ЁзҐбвў® бв®«Ўж®ў (¬ЁЁ¬ «мл© а §¬Ґа ¬ ваЁжл [1, 1]).
(c) Copyright 2001, MK-Soft & SLabs
Ђўв®а: ЊЁе Ё« Љ®«ҐбЁЄ®ў (830508)
ЂбЁбвҐв: Ђ«ҐЄбҐ© ‘¬Ёа®ў (8305xx)
Ђ«мд -вҐбвҐа: ЊЁе Ё« Љ®«ҐбЁЄ®ў
ЃҐв -вҐбвҐа: Ђ«ҐЄбҐ© ‘¬Ёа®ў
:::‘ЇҐжЁдЁЄ жЁп п§лЄ C-light (ЃЌ”):
*** ’ЁЇл:
int - 楫®Ґ зЁб«® [-32768, +32767]
float - [ (3.4 * (10**-38) , 3.4 * (10**+38) ]
fmatr - вЁЇ ўҐйҐб⢥ле ¬ ваЁж
<Ё¤ҐвЁдЁЄ в®а> = id
<楫®Ґ_зЁб«®> = num
<ўҐйҐб⢥®Ґ зЁб«®> = fnum
<Ё¤ҐвЁдЁЄ в®а>::= <ЎгЄў ><Їа®¤®«¦ҐЁҐ>
<Їа®¤®«¦ҐЁҐ>::= <Їа®¤®«¦ҐЁҐ><ЎгЄў >
| <Їа®¤®«¦ҐЁҐ><жЁда >
| <ЎгЄў >
| <жЁда >
<ЎгЄў >::= A..Z a..z _
<жЁда >::= 0..9
Њ ЄбЁ¬ «мл© а §¬Ґа Ё¤ҐвЁдЁЄ в®а 32
<楫®Ґ_зЁб«®>::= + <®Є®з ЁҐ>
| - <®Є®з ЁҐ>
| <®Є®з ЁҐ>
<®Є®з ЁҐ>::= <®Є®з ЁҐ> <жЁда >
| <жЁда >
<ўҐйҐб⢥®Ґ_зЁб«®>::= <楫®Ґ_зЁб«®> . <¤а®Ў п_з бвм>
| . <¤а®Ў п_з бвм>
| <楫®Ґ_зЁб«®> .
<¤а®Ў п_з бвм>::= <®Є®з ЁҐ>
| <®Є®з ЁҐ> e <楫®Ґ_зЁб«®>
| <®Є®з ЁҐ> E <楫®Ґ_зЁб«®>
*** Џа®Ја ¬¬ ***
<Їа®Ја ¬¬ >::= <Ј«®Ў «м®Ґ_®ЇЁб ЁҐ> void main ( ) <б®бв ў®©_®ЇҐа в®а>
| void main ( ) <б®бв ў®©_®ЇҐа в®а>
<б®бв ў®©_®ЇҐа в®а>::= { <¬®¦Ґбвў®_®ЇҐа в®а®ў> }
| { }
<¬®¦Ґбвў®_®ЇҐа в®а®ў>::=
<®ЇҐа в®а>
| <¬®¦Ґбвў®_®ЇҐа в®а®ў> <®ЇҐа в®а>
<Ј«®Ў «м®Ґ_®ЇЁб ЁҐ>::= <Ј«®Ў «м®Ґ_®ЇЁб ЁҐ> <®Ўкпў«ҐЁп>
| <®Ўкпў«ҐЁп>
<®ЇҐа в®а>::= <¬ҐвЄ > <®ЇҐа в®а_1>
| <®ЇҐа в®а_1>
<¬ҐвЄ >::= id :
<®ЇҐа в®а_1>::= <®ЇҐа в®а_ўў®¤ >
| <®ЇҐа в®а_ўлў®¤ >
| <®ЇҐа в®а_гб«_ЇҐаҐе®¤ >
| <®ЇҐа в®а_ЎҐ§гб«_ЇҐаҐе®¤ >
| <жЁЄ«>
| <®ЇҐа в®а_ЇаЁбў Ёў Ёп>
| <б®бв ў®©_®ЇҐа в®а>
| ;
ЏҐаҐ¬ҐлҐ, Є®бв вл Ё вЁЇл ®Ўкпў«повбп ў Ј«®Ў «м®¬ ®ЇЁб ЁЁ ¤® дгЄжЁЁ main.
Џ®ўв®а®Ґ ®Ўкпў«ҐЁҐ ЇҐаҐ¬Ґле Ё Є®бв в Ґ¤®ЇгбвЁ¬®.
Љ®бв вл Ґ ¬®Јгв Ё§¬Ґпвмбп ў ⥫Ґ Їа®Ја ¬¬л.
‹оЎ®© Ё¤ҐвЁдЁЄ в®а Їа®Ја ¬¬л ¤®«¦Ґ Ўлвм а ҐҐ ®Ўкпў«Ґ.
Љ«озҐўлҐ б«®ў Ґ ¬®Јгв ЁбЇ®«м§®ў вмбп ў Є зҐб⢥ Ё¤ҐвЁдЁЄ в®а®ў.
*** ЋЇҐа в®а ўў®¤ ***
<®ЇҐа в®а_ўў®¤ >::= scan ( <ЇҐаҐ¬ҐлҐ_ўў®¤ > );
<ЇҐаҐ¬ҐлҐ_ўў®¤ >::= <ЇҐаҐ¬Ґ п>
| <ЇҐаҐ¬ҐлҐ_ўў®¤ > , <ЇҐаҐ¬Ґ п>
ЋЇҐа в®а ўў®¤ ®бгйҐбвў«пҐв з⥨Ґ Ё§ бв ¤ ав®Ј® Ї®в®Є ўў®¤ (Є« ўЁ вгал)
§ 票© ЇҐаҐ¬Ґле 楫®Ј® Ё ўҐйҐб⢥®Ј® вЁЇ®ў.
€¤ҐвЁдЁЄ в®ал нвЁе ЇҐаҐ¬Ґле ¤®«¦л Ўлвм ®Ўкпў«Ґл Ё Ґ ¤®«¦л Ўлвм
Є®бв в ¬Ё.
*** ЋЇҐа в®а ўлў®¤ ***
<®ЇҐа в®а_ўлў®¤ >::= print ( <§ 票п_ўлў®¤ > );
<§ 票п_ўлў®¤ >::= < а_ўла ¦ҐЁҐ>
| <§ 票п_ўлў®¤ > , < а_ўла ¦ҐЁҐ>
ЋЇҐа в®а ®бгйҐбвў«пҐв ўлў®¤ ў бв ¤ авл© Ї®в®Є ўлў®¤ , бўп§ л© ®Ўлз® б
нЄа ®¬ ¤ЁбЇ«Ґп. ‚лў®¤ ¬®¦Ґв Ўлвм Є Є ЇҐаҐ¬Ґле, в Є Ё Є®бв в.
*** ЋЇҐа в®а ЎҐ§гб«®ў®Ј® ЇҐаҐе®¤ ***
<®ЇҐа в®а_ЎҐ§гб«_ЇҐаҐе®¤ >::= goto id ;
ЋЇҐа в®а ®бгйҐбвў«пҐв ЎҐ§гб«®ўл© ЇҐаҐе®¤ Є ®ЇҐа в®аг, Ї®¬ҐзҐ®¬г ¬ҐвЄ®© (id).
ЊҐвЄ ¤®«¦ Ўлвм ®Ўкпў«Ґ „Ћ „ЂЌЌЋѓЋ ЋЏ…ђЂ’ЋђЂ, Ё ¤®«¦ Ўлвм гЁЄ «м®© ў
ЇаҐ¤Ґ« е Їа®Ја ¬¬л.
*** ЋЇҐа в®а гб«®ў®Ј® ЇҐаҐе®¤ ***
<®ЇҐа в®а_гб«_ЇҐаҐе®¤ >::= if ( <«®Ј_ўла ¦ҐЁҐ> ) <®ЇҐа в®а>
| if ( <«®Ј_ўла ¦ҐЁҐ> ) <®ЇҐа в®а> else <®ЇҐа в®а>
…б«Ё «®ЈЁзҐбЄ®Ґ ўла ¦ҐЁҐ ў®§ўа й Ґв ЁбвЁг, в® ўлЇ®«пҐвбп ЇҐаўл© ®ЇҐа в®а,
Ё зҐ ўв®а®© ®ЇҐа в®а Ї®б«Ґ ¤ЁаҐЄвЁўл else, Ґб«Ё ® ЇаЁбгвбвўгҐв.
*** ‹®ЈЁзҐбЄ®Ґ ўла ¦ҐЁҐ ***
<«®Ј_ўла ¦ҐЁҐ>::= <«®Ј_ўла ¦ҐЁҐ> <®Ї_а ў®_Ґа ў®> <гб«®ўЁҐ>
| <гб«®ўЁҐ>
<гб«®ўЁҐ>::= < а_ўла ¦ҐЁҐ>
| <гб«®ўЁҐ> <®Ї_ба ўҐЁп> < а_ўла ¦ҐЁҐ>
<®Ї_а ў®_Ґа ў®>::= != | ==
<®Ї_ба ўҐЁп>::= > | < | >= | <=
’ЁЇл ®ЇҐа ¤®ў ба ўҐЁп ¬®Јгв int Ё«Ё float. ђҐ§г«мв в: вЁЇ int, Ј¤Ґ
§ 票Ґ (0) - «®¦м, (1) - ЁбвЁ
*** ЋЇҐа в®а жЁЄ« ***
<жЁЄ«>::= for ( <§ Ј®«®ў®Є_жЁЄ« > ) <®ЇҐа в®а>
<§ Ј®«®ў®Є_жЁЄ« >::= <Ї а ¬Ґва_1> ; <Ї а ¬Ґва_2> ; <Ї а ¬Ґва_3>
| ; <Ї а ¬Ґва_2> ; <Ї а ¬Ґва_3>
| <Ї а ¬Ґва_1> ; ; <Ї а ¬Ґва_3>
| <Ї а ¬Ґва_1> ; <Ї а ¬Ґва_2> ;
| ; ; <Ї а ¬Ґва_3>
| ; <Ї а ¬Ґва_2> ;
| <Ї а ¬Ґва_1> ; ;
| ; ;
<Ї а ¬Ґва_1>::= <®ЇҐа жЁп_ЇаЁбў®ҐЁп>
<Ї а ¬Ґва_2>::= <«®Ј_ўла ¦ҐЁҐ>
<Ї а ¬Ґва_3>::= <®ЇҐа жЁп_ЇаЁбў®ҐЁп>
ЏҐаўл© Ї а ¬Ґва § ¤ Ґв з «м®Ґ § 票Ґ ЇҐаҐ¬Ґ®©, гЇа ў«по饩 жЁЄ«®¬.
…б«Ё «®ЈЁзҐбЄ®Ґ ўла ¦ҐЁҐ (Ї а ¬Ґва_2) ЁбвЁ®, в® ўлЇ®«пҐвбп ®ЇҐа в®а.
Ќ Є ¦¤®¬ и ЈҐ Їа®Ёб室Ёв Ё§¬ҐҐЁҐ гЇа ў«по饩 ЇҐаҐ¬Ґ®© (Ї Ї ¬Ґва_3)
*** ЂаЁд¬ҐвЁзҐбЄЁҐ ‚ла ¦ҐЁп ***
< а_ўла ¦ҐЁҐ>::= < а_ўла ¦ҐЁҐ> <®Ї+-> <б« Ј Ґ¬®Ґ> | <б« Ј Ґ¬®Ґ>
<б« Ј Ґ¬®Ґ>::= <¬®¦ЁвҐ«м> | <б« Ј Ґ¬®Ґ> <®Ї*/> <¬®¦ЁвҐ«м>
<¬®¦ЁвҐ«м>::= ( < а_ўла ¦ҐЁҐ> )
| <ЇҐаҐ¬Ґ п>
| det ( < а_ўла ¦ҐЁҐ> )
| <зЁб«®ў п_Є®бв в >
| transpose ( < а_ўла ¦ҐЁҐ> )
<®Ї+->::= + | -
<®Ї*/>::= * | /
<зЁб«®ў п_Є®бв в >::= inum
| fnum
ќ«Ґ¬Ґв ¬Ё аЁд¬ҐвЁзҐбЄЁе ўла ¦ҐЁ© пў«повбп:
- ЇҐаҐ¬ҐлҐ Ё Є®бв вл 楫®Ј® Ё ўҐйҐб⢥®Ј® вЁЇ
- ¬ ваЁжл
- ®ЇаҐ¤Ґ«ЁвҐ«м ¬ ваЁжл
ЋЇҐа ¤л аЁд¬ҐвЁзҐбЄ®© ®ЇҐа жЁЁ ¤®«¦л Ўлвм ®¤®Ј® вЁЇ . џ§лЄ ¤®ЇгбЄ Ґв
в®«мЄ® ЇаҐ®Ўа §®ў ЁҐ вЁЇ int Є вЁЇг float.
…б«Ё ®ЇҐа ¤л ®ЇҐа жЁЁ - ¬ ваЁжл, в® а §¬Ґа®бвЁ нвЁе ¬ ваЁж ¤®«¦л
ᮮ⢥вбвў®ў вм ¤ ®© ®ЇҐа жЁЁ.
*** ЏҐаҐ¬Ґ п ***
<ЇҐаҐ¬Ґ п>::= id
<ЇҐаҐ¬Ґ п>::= <н«Ґ¬Ґв_¬ ваЁжл>
| <н«Ґ¬Ґв_¬ ббЁў >
<н«Ґ¬Ґв_¬ ваЁжл>::= id [ < а_ўла ¦ҐЁҐ>, < а_ўла ¦ҐЁҐ> ]
<н«Ґ¬Ґв_¬ ббЁў >::= id <Ё¤ҐЄб_¬ ббЁў >
<Ё¤ҐЄб_¬ ббЁў >::= [ < а_ўла ¦ҐЁҐ> ]
| <Ё¤ҐЄб_¬ ббЁў > [ < а_ўла ¦ҐЁҐ> ]
€¤ҐЄбл ¬ ваЁж Ё ¬ ббЁў®ў ¤®«¦л Ўлвм § 票п в®«мЄ® 楫®Ј® вЁЇ .
*** ЋЇҐа в®а ЇаЁбў Ёў Ёп ***
<®ЇҐа в®а_ЇаЁбў Ёў Ёп>::= <®ЇҐа жЁп_ЇаЁбў®ҐЁп> ;
<®ЇҐа жЁп_ЇаЁбў®ҐЁп>::= <ЇҐаҐ¬Ґ п> = < а_ўла ¦ҐЁҐ>
ЏҐаҐ¬Ґ п ў ®ЇҐа в®аҐ ЇаЁб Ёў Ёп ¬®¦Ґв Ўлвм 楫®Ј®, ўҐйҐб⢥®Ј® вЁЇ®ў,
в Є¦Ґ ¬ ваЁжҐ©.
*** ЋЎкпў«ҐЁп ***
<®Ўкпў«ҐЁп>::= <®Ўкпў«ҐЁҐ_ЇҐаҐ¬Ґле_Ё_¬ ббЁў®ў>
| <®Ўкпў«ҐЁҐ_Є®бв в>
| <®Ўкпў«ҐЁҐ_¬ ваЁж>
<®Ўкпў«ҐЁҐ_ЇҐаҐ¬Ґле_Ё_¬ ббЁў®ў>::= <вЁЇ> <бЇЁб®Є_Ё¤ҐвЁдЁЄ в®а®ў> ;
| <вЁЇ> <бЇЁб®Є_¬ ббЁў®ў> ;
<бЇЁб®Є_Ё¤ҐвЁдЁЄ в®а®ў>::= <бЇЁб®Є_Ё¤ҐвЁдЁЄ в®а®ў> , id
| id
<бЇЁб®Є_¬ ббЁў®ў>::= <бЇЁб®Є_¬ ббЁў®ў> , <н«Ґ¬Ґв_¬ ббЁў >
<вЁЇ>::= int | float
<®Ўкпў«ҐЁҐ_Є®бв в>::= const int <бЇЁб®Є_Є®бв в_楫> ;
<®Ўкпў«ҐЁҐ_Є®бв в>::= const float <бЇЁб®Є_Є®бв в_ўҐй> ;
<бЇЁб®Є_Є®бв в_楫>::= <бЇЁб®Є_Є®бв в_楫> , id = num
| id = num
<бЇЁб®Є_Є®бв в_ўҐй>::= <бЇЁб®Є_Є®бв в_ўҐй> , id = fnum
| id = fnum
<®Ўкпў«ҐЁҐ_¬ ваЁж>::= fmatr <бЇЁб®Є_¬ ваЁж>
<бЇЁб®Є_¬ ваЁж>::= <бЇЁб®Є_¬ ваЁж> , id [ num , num ]
| id [ num , num ]
’ЁЇ®¬ ў ®Ўкпў«ҐЁЁ ЇҐаҐ¬Ґле б«г¦Ёв «ЁЎ® int, float.
Љ®бв вл ¬®Јгв Ўлвм в®«мЄ® 楫®Ј® Ё«Ё ўҐйҐб⢥®Ј® вЁЇ .
ЋЎкпў«пҐ¬лҐ ¬ ббЁўл ¬®Јгв Ўлвм ¬®Ј®¬Ґал¬Ё. Њ ЄбЁў «м п а §¬Ґа®бвм 10.
‚ ®Ўкпў«ҐЁЁ ¬ ваЁжл ЇҐаў®Ґ ўла ¦ҐЁҐ § ¤ Ґв Є®«ЁзҐбвў® бва®Є,
ўв®а®Ґ - Є®«ЁзҐбвў® бв®«Ўж®ў (¬ЁЁ¬ «мл© а §¬Ґа ¬ ваЁжл [1, 1]).
Соседние файлы в папке kurs