Подграмматика переменной
|
IDENT |
CF |
CI |
[ |
, |
] |
; |
AssignRel |
ε |
VAR |
IDENTr name <- адрес IDENT type<- код типа вектор eql<- r-значение из таблицы идентификаторов , 1 |
CI, 10 |
|
[ ELEMp SELEMq] name <- 10 type<- код типа вектор eql<- r-значение из таблицы идентификаторов , 2 |
|
|
|
|
|
ELEM |
IDENTr SENDind,n,e , 5 |
CF t , 8 |
|
|
|
|
|
|
|
SEND |
|
|
[ CI ] {SUBS name, ind, e} ,6 |
|
ε,7 |
|
|
|
|
SELEM |
|
|
|
|
ELEMp SELEMq , 3 |
ε,4 |
|
|
ε,4 |
IDENT |
Выброс |
|
|
|
|
|
|
|
|
CF |
|
|
|
|
|
|
|
|
|
CI |
|
|
Выброс |
|
|
|
|
|
|
[ |
|
|
|
Выброс |
|
|
|
|
|
, |
|
|
|
|
Выброс |
|
|
|
|
] |
|
|
|
|
|
Выброс |
|
|
|
{SUBS} name, ind, e |
ВЫДАЧА{SUBS} name, ind, e |
||||||||
┴ |
|
|
|
|
|
|
|
|
cвертка, 71 |
VARname,type,eql → IDENTr (1)
name <- адрес IDENT
type<- код типа вектор
eql<- r-значение из таблицы идентификаторов
VAR name,type,eql → [ ELEMp SELEMq] (2)
name <- 10 //это будет безымянная запись в таблице идентификаторов
type<- код типа вектор
eql<- r-значение из таблицы идентификаторов
SELEMp → ELEMp SELEMq (3)
SELEMp → (4)
p<-10
ELEMe → IDENTr SENDind,n,e (5)
n<-r
SEND ind,n,e → [ CI ] {SUBS name, ind, e} (6)
ind <- CI
e<- GetNew
SEND ind,n,e → (7)
ind <- 10
n<-10
e<-10
ELEM i → CF t (8)
i<-t //адрес CF
VAR name,type,eql →CI t (9)
name<-10
type<- код для int
eql<-t //адрес CI