For語句的翻譯比較復(fù)雜,有3個(gè)前置條件和運(yùn)行代碼,1個(gè)語句塊,也就有4*3*2*1=24種情況.應(yīng)此在生成抽象語法樹的時(shí)候我采用的是2進(jìn)制位來表示當(dāng)前塊是否存在,其中最底位表示stmt_list語句塊,倒數(shù)第2位表示by之后的語句是否存在,倒數(shù)第3位表示to之后的表達(dá)式是否存在,倒數(shù)第4位表示for之后的語句是否存在.
代碼:
1 integer aaa,bbb
2
3 function ccc()
4 do
5 for aaa = 456 to by do
6 if aaa == 456 then
7 aaa = 789
8 end if
9 next
10 aaa = 123
11 while aaa == 123 end
12 end function
翻譯結(jié)果:
posted on 2010-09-22 12:20
lwch 閱讀(1620)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
QLanguage