Skip to content

Commit b2754cb

Browse files
committed
-
1 parent 448b717 commit b2754cb

File tree

1 file changed

+0
-39
lines changed

1 file changed

+0
-39
lines changed

docs/gram - prepared.cpp

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,24 @@
11
<программа> ::= <элемент_программы>
22
<программа> ::= <программа><элемент_программы>
3-
43
<элемент_программы> ::= <класс>
54
<элемент_программы> ::= <реализация_метода_класса>
65
<элемент_программы> ::= <декларация_переменных>
76
<элемент_программы> ::= <функция>
8-
97
<класс> ::= class <идентификатор>"{}";
108
<класс> ::= class <идентификатор>"{"<тело_класса>"}";
11-
129
<тело_класса> ::= <элемент_класса>
1310
<тело_класса> ::= <спецификатор_доступа>:<элемент_класса>
1411
<тело_класса> ::= <тело_класса><элемент_класса>
1512
<тело_класса> ::= <тело_класса><спецификатор_доступа>:<элемент_класса>
16-
1713
<элемент_класса> ::= <декларация_свойств_класса>
1814
<элемент_класса> ::= <метод_класса>
1915
<элемент_класса> ::= <элемент_класса><декларация_свойств_класса>
2016
<элемент_класса> ::= <элемент_класса><метод_класса>
2117
<элемент_класса> ::= ::
2218
<элемент_класса> ::= :::
2319
<элемент_класса> ::= ::::
24-
2520
<спецификатор_доступа> ::= public
2621
<спецификатор_доступа> ::= private
27-
2822
<метод_класса> ::= <идентификатор>"()"<блок>
2923
<метод_класса> ::= <идентификатор>"("<список_аргументов>")"<блок>
3024
<метод_класса> ::= <тип_переменной> <идентификатор>"()"<блок>
@@ -33,7 +27,6 @@
3327
<метод_класса> ::= void <идентификатор>"("<список_аргументов>")"<блок>
3428
<метод_класса> ::= ~<идентификатор>"()"<блок>
3529
<метод_класса> ::= ~<идентификатор>"("<список_аргументов>")"<блок>
36-
3730
<реализация_метода_класса> ::= <идентификатор>::<идентификатор>"()"<блок>
3831
<реализация_метода_класса> ::= <идентификатор>::<идентификатор>"("<список_аргументов>")"<блок>
3932
<реализация_метода_класса> ::= <тип_переменной> <идентификатор>::<идентификатор>"()"<блок>
@@ -42,72 +35,56 @@
4235
<реализация_метода_класса> ::= void <идентификатор>::<идентификатор>"("<список_аргументов>")"<блок>
4336
<реализация_метода_класса> ::= <идентификатор>::~<идентификатор>"()"<блок>
4437
<реализация_метода_класса> ::= <идентификатор>::~<идентификатор>"("<список_аргументов>")"<блок>
45-
4638
<функция> ::= <тип_переменной> <идентификатор>"()"<блок>
4739
<функция> ::= <тип_переменной> <идентификатор>"("<список_аргументов>")"<блок>
4840
<функция> ::= void <идентификатор>"()"<блок>
4941
<функция> ::= void <идентификатор>"("<список_аргументов>")"<блок>
50-
5142
<список_аргументов> ::= <аргумент>
5243
<список_аргументов> ::= <список_аргументов>,<аргумент>
53-
5444
<аргумент> ::= <тип_переменной> <идентификатор>
5545
<аргумент> ::= const <тип_переменной> <идентификатор>
5646
<аргумент> ::= <тип_переменной>&<идентификатор>
5747
<аргумент> ::= const <тип_переменной>&<идентификатор>
58-
5948
<блок> ::= "{}"
6049
<блок> ::= "{"<тело_блока>"}"
61-
6250
<тело_блока> ::= <элемент_блока>
6351
<тело_блока> ::= <тело_блока><элемент_блока>
64-
6552
<элемент_блока> ::= <декларация_переменных>
6653
<элемент_блока> ::= ;
6754
<элемент_блока> ::= <выражение>;
6855
<элемент_блока> ::= <возврат>;
6956
<элемент_блока> ::= <цикл>
7057
<элемент_блока> ::= <ветвление>
71-
7258
<возврат> ::= return
7359
<возврат> ::= return <выражение>
74-
7560
<выражение> ::= <оператор_1>
7661
<выражение> ::= <выражение>,<оператор_1>
77-
7862
<оператор_1> ::= <оператор_2>
7963
<оператор_1> ::= <объект>=<оператор_1>
8064
<оператор_1> ::= <объект>+=<оператор_1>
8165
<оператор_1> ::= <объект>-=<оператор_1>
8266
<оператор_1> ::= <объект>*=<оператор_1>
8367
<оператор_1> ::= <объект>/=<оператор_1>
8468
<оператор_1> ::= <объект>%=<оператор_1>
85-
8669
<оператор_2> ::= <оператор_3>
8770
<оператор_2> ::= <оператор_2>"||"<оператор_3>
88-
8971
<оператор_3> ::= <оператор_4>
9072
<оператор_3> ::= <оператор_3>&&<оператор_4>
91-
9273
<оператор_4> ::= <оператор_5>
9374
<оператор_4> ::= <оператор_4>==<оператор_5>
9475
<оператор_4> ::= <оператор_4>!=<оператор_5>
95-
9676
<оператор_5> ::= <оператор_6>
9777
<оператор_5> ::= <оператор_5>"<"<оператор_6>
9878
<оператор_5> ::= <оператор_5>"<"=<оператор_6>
9979
<оператор_5> ::= <оператор_5>">"<оператор_6>
10080
<оператор_5> ::= <оператор_5>">"=<оператор_6>
101-
10281
<оператор_6> ::= <оператор_7>
10382
<оператор_6> ::= <оператор_6>+<оператор_7>
10483
<оператор_6> ::= <оператор_6>-<оператор_7>
105-
10684
<оператор_7> ::= <оператор_8>
10785
<оператор_7> ::= <оператор_7>*<оператор_8>
10886
<оператор_7> ::= <оператор_7>/<оператор_8>
10987
<оператор_7> ::= <оператор_7>%<оператор_8>
110-
11188
<оператор_8> ::= <оператор_9>
11289
<оператор_8> ::= +<оператор_9>
11390
<оператор_8> ::= -<оператор_9>
@@ -116,63 +93,48 @@
11693
<оператор_8> ::= ++<объект>
11794
<оператор_8> ::= --<объект>
11895
<оператор_8> ::= &<объект>
119-
12096
<оператор_9> ::= "("<выражение>")"
12197
<оператор_9> ::= <литерал>
12298
<оператор_9> ::= <объект>
12399
<оператор_9> ::= <объект>++
124100
<оператор_9> ::= <объект>--
125101
<оператор_9> ::= <вызов_функции>
126-
127102
<вызов_функции> ::= <объект>"()"
128103
<вызов_функции> ::= <объект>"("<выражение>")"
129-
130104
<объект> ::= <идентификатор>
131105
<объект> ::= <идентификатор>.<идентификатор>
132106
<объект> ::= <идентификатор>-">"<идентификатор>
133-
134107
<декларация_свойств_класса> ::= <тип_переменной> <список_свойств_класса>;
135108
<декларация_свойств_класса> ::= const <тип_переменной> <список_свойств_класса>;
136-
137109
<декларация_переменных> ::= <тип_переменной> <список_переменных>;
138110
<декларация_переменных> ::= <тип_переменной>*<список_переменных>;
139111
<декларация_переменных> ::= const <тип_переменной> <список_переменных>;
140112
<декларация_переменных> ::= const <тип_переменной>*<список_переменных>;
141-
142113
<тип_переменной> ::= int
143114
<тип_переменной> ::= double
144115
<тип_переменной> ::= char
145116
<тип_переменной> ::= bool
146117
<тип_переменной> ::= <идентификатор>
147-
148118
<список_свойств_класса> ::= <идентификатор>
149119
<список_свойств_класса> ::= <список_свойств_класса>,<идентификатор>
150-
151120
<список_переменных> ::= <идентификатор>
152121
<список_переменных> ::= <список_переменных>,<идентификатор>
153122
<список_переменных> ::= <список_переменных>,*<идентификатор>
154123
<список_переменных> ::= <идентификатор>=<оператор_1>
155124
<список_переменных> ::= <список_переменных>,<идентификатор>=<оператор_1>
156125
<список_переменных> ::= <список_переменных>,*<идентификатор>=<оператор_1>
157-
158126
<цикл> ::= <while-цикл>
159127
<цикл> ::= <do-while-цикл>
160128
<цикл> ::= <for-цикл>
161-
162129
<while-цикл> ::= while"("<выражение>")"<блок>
163-
164130
<do-while-цикл> ::= do<блок>while"("<выражение>")";
165-
166131
<for-цикл> ::= for"("<выражение>;<выражение>;<выражение>")"<блок>
167-
168132
<ветвление> ::= if"("<выражение>")"<блок>
169133
<ветвление> ::= if"("<выражение>")"<блок>else<блок>
170134

171-
172135
<T_ID> ::= ...
173136
<T_CONST> ::= ...
174137

175-
176138
<логический_литерал> ::= (true|false)
177139
<константа_с_плавающей_точкой> ::= [(+|-)](<цифра>{<цифра>}.[<цифра>{<цифра>]|.<цифра>{<цифра>})[(e|E)<десятичная_целая_константа>]
178140
<целая_константа> ::= (<десятичная_целая_константа>|<восьмеричная_целая_константа>|<шестнадцатеричная_целая_константа>)
@@ -183,6 +145,5 @@
183145
<буква> ::= (a|…|z|A|…|Z)
184146
<символьная_константа> ::= '(?|\('|"""|n|t))'
185147
<строковый_литерал> ::= """{(?|\('|"""|n|t))}"""
186-
187148
// lvalue == объект
188149
// rvalue == выражение

0 commit comments

Comments
 (0)