For語句的翻譯比較復雜,有3個前置條件和運行代碼,1個語句塊,也就有4*3*2*1=24種情況.應此在生成抽象語法樹的時候我采用的是2進制位來表示當前塊是否存在,其中最底位表示stmt_list語句塊,倒數第2位表示by之后的語句是否存在,倒數第3位表示to之后的表達式是否存在,倒數第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
翻譯結果:
posted on 2010-09-22 12:20
lwch 閱讀(1620)
評論(0) 編輯 收藏 引用 所屬分類:
QLanguage