Upload
herbert-wilkins
View
234
Download
1
Embed Size (px)
Citation preview
: פריסת קודIשלב
ציור סכימטי של הקוד שיווצר•מיקום יחסי של הקוד הנפלט )קבוע(––gotoשנרצה לתפור הקוד המאחה–
6
תכונותB: truelist, falselist
COND:
quadהיכן התנאי מתחיל
COND_LIST:
truelist, falselist
start_quadהיכן התנאי הראשון
22
סכימת תרגום
COND while M B
{
COND.quad = M.quad;
COND.truelist = B.truelist;
COND.falselist = B.falselist;
}
23
סכימת תרגום
COND_LIST COND{
COND_LIST.start_quad = COND.quad;COND_LIST.truelist = COND.truelistCOND_LIST.falselist = COND.falselist
}
24
סכימת תרגום
COND_LIST COND_LIST1 COND{
COND_LIST.start_quad = COND_LIST1.start_quad;
backpatch )COND_LIST1.truelist, COND.quad(;
COND_LIST.truelist = COND.truelist;
COND_LIST.falselist = merge )COND_LIST1.falselist, COND.falselist(;
}
25
סכימת תרגום
S loop COND_LIST do M S1 N{
backpatch )COND_LIST.truelist, M.quad(;backpatch )S1.nextlist, COND_LIST.start_quad(;
S.nextlist = COND_LIST.falselist;}
26
פריסת קוד
B1 (While)
nextlist
falselist
B2 (Until) truelist
truelist
B3 (While)falselist
falselist
28