Atitit. 構造ast 語法樹的總結attilax oao 1. Ast結構樹形1 2. ast view (自是個160k的jar )2 2.1. 多條語句ast結構2 2.2. 變數定義 int b,c; 的ast結構2 2.3. 方法調用meth1(a=1,b=2,c=3); 的ast結構 ...
Atitit. 構造ast 語法樹的總結attilax oao
2.3. 方法調用meth1(a=1,b=2,c=3); 的ast結構2
3.2. 非要不個ast放到個stack黑頭了..實際上不要stack牙行了...3
3.3. Ast非要解釋成個map一類的數據結構了,實際上直接ast走是個tree,能直接輸出使用了...3
3.4. Ast不一定要操作符表達式了,,,對象化名稱牙越好...3
3.5. =等號不一定是個賦值運算符, 定義變數的時候兒走馬意義..實際能失去的了..3
1. Ast結構樹形
如何命名錶達式名稱。。使用實際對象名稱,而不是操作符號表達式更好
參考在的ast view 一類的實現...
每個節點都是一個astnode。。也是一個exp。。
Ast的結構都是node構成。。
每個node都是express
參考antlr的ast繼承樹
2. ast view (自是個160k的jar )
2.1. 多條語句ast結構
2.2. 變數定義 int b,c; 的ast結構
VariableDeclarationStatement [123+8]
》》TYPE (int)
>> FRAGMENTS (2) (b,c)
Int a=1;
VariableDeclarationStatement [115+8] (Int a=1;)
VariableDeclarationFragment [119+3] (a=1)
NAME ::變數名
INITIALIZER 變數值
問題?? =(等號)好像馬蘭。。。
作者:: ★(attilax)>>> 綽號:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 ) 漢字名:艾龍, EMAIL:[email protected]
轉載請註明來源: http://www.cnblogs.com/attilax/
2.3. 方法調用meth1(a=1,b=2,c=3); 的ast結構
MethodInvocation [136+18]
》》NAME 方法名
》》ARGUMENTS (3) 參數列表
Assignment [142+3] ( a=1 表達式 )
》》LEFT_HAND_SIDE 參數面稱
》》OPERATOR: '='
>>RIGHT_HAND_SIDE 參數值
3. 誤解的問題
3.1. 語法書子能是個二叉樹,實際上多叉樹越好..
3.2. 非要不個ast放到個stack黑頭了..實際上不要stack牙行了...
3.3. Ast非要解釋成個map一類的數據結構了,實際上直接ast走是個tree,能直接輸出使用了...
3.4. Ast不一定要操作符表達式了,,,對象化名稱牙越好...
3.5. =等號不一定是個賦值運算符, 定義變數的時候兒走馬意義..實際能失去的了..