- 每個Production都是一個SimpleNode物件。
- SimpleNode類別實作Node介面。
- 可以在Production裡用jjtThis變數存取這個Node。
- SimpleNode物件可以使用dump成員函式來印出parsing tree。
- 如果沒有特別指定,SimpleNode預設會是Prodution的名稱。
- 可以設定MULTI=true來為每個Production生成自己的Abstract Syntax Tree Node。
- 承上,這時每個Production如果沒有特別設定,類別名稱是AST接上Production的名字。
- AST類別在預設情況下是繼承SimpleNode。
- NODE_EXTENDS選項可以設定一個使用者自訂類別讓SimpleNode繼承它
- NODE_CLASS選項可以設定一個使用者自訂類別讓它繼承SimpleNode,而所有的AST類別都會改為繼承這個類別。
- 但是NODE_EXTENDS被標示為棄用,在未來的版本可能被消除;而NODE_CLASS則尚未釋出。
- 加入VISITOR選項可以使用Visitor pattern走訪整個AST。
- Visitor會自動生成一個介面,要做的只是根據不同的AST節點需要寫出不同的實作即可。
- VISITOR_DATA_TYPE可以設定Visitor的引數型態,避免downcast的使用。
- VISITOR_RETURN_TYPE可以設定Visitor的回傳型態。
- 然而以上兩個選項都尚未正式釋出。
TAG
首都機能移轉
(2)
歌詞
(2)
靠北文
(40)
戲言
(30)
糟糕
(7)
ACG
(23)
Assembly
(2)
Boost
(2)
C
(31)
C++
(69)
CMake
(4)
CSIE
(67)
Debian
(34)
Design_Pattern
(2)
Django
(1)
Eclipse
(1)
en_US
(13)
FFmpeg
(3)
FoolproofProject
(26)
FreeBSD
(2)
Git
(4)
GNU_Linux
(65)
IDE
(5)
Java
(11)
JavaScript
(19)
KDE
(15)
Khopper
(16)
KomiX
(3)
Kubuntu
(18)
Life
(1)
Lighttpd
(2)
Mac_OS_X
(2)
Opera
(1)
PHP
(2)
PicKing
(2)
Programing
(21)
Prolog
(1)
Python
(7)
QSnapshot
(2)
Qt
(30)
Qt_Jambi
(1)
Regular_Expression
(1)
Shell_Script
(7)
Talk
(98)
VirtualBox
(7)
Visual_Studio
(13)
Windows
(18)
zh_TW
(36)
2008年5月4日 星期日
JJTree筆記
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言