transform map_for_stmt_to_assembly:
for \v=\i to \u step \s do \b
->
\i
top: STORE \v
\b
PUSH \v
ADD \s
DUP
CMP \u
JLE top
Protsessual dasturni o'zgartirish - bu tugun turlarini va yoylar bo'ylab o'tishlarni aniq belgilash orqali tuzilmalar bo'ylab harakatlanadigan (masalan, daraxt grafigi bo'ylab aylanib o'tish) protsessual kodning bitlari (C++ yoki LISP kabi an'anaviy tillarda yozilgan) va alohida o'zgarishlarni belgilaydi. tugun turlari va yoylari. Avtomatik o'sish uchun protsessual o'zgartirish quyidagicha kodlangan bo'lishi mumkin
procedure autoinc(t: tree)
begin
if IsEqualNode(root(t).nodetype)
and IsPlusNode(rightchild(root(t)))
and IsNumberNode(rightchild(rightchild(root(t))))
Do'stlaringiz bilan baham: |