Подграмматика типов
|
int |
float |
bool |
IDENT |
vector |
[ |
] |
CI |
ε |
DECVAR |
BASEp VARname {AddVar}q,r , 1 |
BASEp VARname {AddVar}q,r
, 1 |
BASEp VARname {AddVar}q,r
, 1 |
|
|
|
|
|
|
BASE |
intv , 2 |
floatv , 3 |
boolv , 4 |
|
|
|
|
|
|
VAR |
|
|
|
VAR ┴, 61 |
|
|
|
|
|
DECVEC |
|
|
|
ε, 75 |
DECVEC -> vector VARname [ CI t] {AddVec}q,p,d ; DECVEC , 5 |
|
|
|
|
DIM |
|
|
|
|
|
|
|
CI,7 |
|
[ |
|
|
|
|
|
Выброс |
|
|
|
] |
|
|
|
|
|
|
Выброс |
|
|
CI |
|
|
|
|
|
|
|
Выброс |
|
IDENT |
|
|
|
Выброс |
|
|
|
|
|
{AddVar}q,r |
ВЫДАЧА{AddVar}q,r |
||||||||
{AddVec}q,p,d |
ВЫДАЧА{AddVec}q,p,d |
||||||||
┴ |
|
|
|
|
|
|
|
|
cвертка,75 |
DECVAR, -> BASEp VARname {AddVar}q,r (1)
q <- p
r <- name
BASEp -> intv (2)
p <- v
BASEp -> floatv (3)
p <- v
BASEp -> boolv (4)
p <- v
DECVEC -> vector VARname [ CI t] {AddVec}q,p,d ; DECVEC (5)
r <- vector
p <- name
d <- t
|
Void main(){ |
int |
float |
bool |
vector |
EXP-буква или скобка( |
} |
ε |
P |
void main() { DVAR } |
|
|
|
|
|
|
|
DVAR |
|
DECVAR ;DVAR , 2 |
DECVAR ;DVAR , 2 |
DECVAR ;DVAR , 2 |
DVEC, 3 |
COP,4 |
|
|
DECVAR |
|
DECVAR┴, 65 |
DECVAR┴, 65 |
DECVAR┴, 65 |
|
|
|
|
DVEC |
|
|
|
|
DEVEC; DVEC, 5 |
COP,6 |
|
ε,7 |
DECVEC |
|
|
|
|
DECVEC┴, 65 |
|
|
|
COP |
|
|
|
|
|
COP┴, 64 |
|
|
void main(){ |
ВЫБРОС |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
ВЫБРОС |
|
┴ |
|
|
|
|
|
|
|
ДОПУСК |