Левая часть |
Правая часть |
Примечание |
|||||||||
START |
{ |
NameBlock.add(currentLexem.textOfWord); |
ident |
: |
BLOCK |
} |
START |
внешняя структура блока |
|||
START |
|||||||||||
BLOCK |
vars |
; |
BODYVARS |
VectorPFR.add(StrPFR.clone());StrPFR.removeAllElements(); |
блок vars |
||||||
BLOCK |
join |
NameBlock.remove(NameBlock.size()-1); |
; |
BODYJOIN |
блок join |
||||||
BLOCK |
do |
; |
HEADING |
BODYDO |
VectorPFR.add(StrPFR.clone());StrPFR.removeAllElements(); |
блок do |
|||||
BODYDO |
let |
StrPFR.add(currentLexem.textOfWord); |
ident |
Y |
StrPFR.add("let"); |
; |
BODYDO |
оператор присваивания внутри блока do или внутри последовательности операторов условного оператора |
|||
BODYDO |
if |
USL |
StackIf .push (new Integer(++ifCnt));StrPFR.add("Label0_"+StackIf.peek());StrPFR.add("GF"); |
USLBODY |
StrPFR.add("Label1_"+StackIf.peek());StrPFR.add("GO"); |
Otherwise |
BODYDO |
условный оператор внутри блока do или внутри последовательности операторов условного оператора |
|||
BODYDO |
|||||||||||
BODYJOIN |
ident |
out |
ident |
sv |
ident |
in |
ident |
SV2 |
; |
BODYJOIN |
передача значений внутри блока join или заголовка |
BODYJOIN |
|||||||||||
BODYVARS |
let |
StrPFR.add(currentLexem.textOfWord); |
ident |
Z |
StrPFR.add("let"); |
; |
BODYVARS |
оператор присваивания переменной константного значения внутри блока vars |
|||
BODYVARS |
|||||||||||
HEADING |
{ |
BODYJOIN |
} |
заголовок есть |
|||||||
HEADING |
|||||||||||
Otherwise |
else |
StrPFR.add("Label0_"+StackIf.peek()+":"); |
USLBODY |
StrPFR.add("Label1_"+StackIf.pop()+":"); |
else присутствует - условный оператор полный |
||||||
Otherwise |
StrPFR.remove(StrPFR.size()-1);StrPFR.remove(StrPFR.size()-1);StrPFR.add("Label0_"+StackIf.pop()+":"); |
условный операторо не полный |
|||||||||
R |
StackOp.push (currentLexem.textOfWord); |
op1 |
VIR |
StrPFR.add(StackOp.pop ()); |
|||||||
R |
|||||||||||
SV2 |
, |
ident |
in |
ident |
SV2 |
передача значения нескольким входам блоков |
|||||
SV2 |
|||||||||||
U |
V |
W |
|||||||||
USL |
( |
VIR |
StackOp.push (currentLexem.textOfWord); |
otn |
VIR |
StrPFR.add(StackOp.pop ()); |
) |
||||
USLBODY |
{ |
BODYDO |
} |
последовательность оператор внтури условного оператора |
|||||||
USLBODY |
let |
StrPFR.add(currentLexem.textOfWord); |
ident |
Y |
StrPFR.add("let"); |
; |
внутри условного оператора только один оператор присваивания |
||||
V |
( |
VIR |
) |
||||||||
V |
StrPFR.add(currentLexem.textOfWord); |
ident |
|||||||||
V |
StrPFR.add(currentLexem.textOfWord); |
const |
|||||||||
VIR |
U |
R |
арифметическое выражение |
||||||||
W |
StackOp.push (currentLexem.textOfWord); |
op2 |
U |
StrPFR.add(StackOp.pop ()); |
|||||||
W |
|||||||||||
Y |
VIR |
||||||||||
Y |
let |
StrPFR.add(currentLexem.textOfWord); |
ident |
Y |
StrPFR.add("let"); |
||||||
Z |
StrPFR.add(currentLexem.textOfWord); |
const |
|||||||||
Z |
let |
StrPFR.add(currentLexem.textOfWord); |
ident |
Z |
StrPFR.add("let"); |
||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.