📄 common_ast.sa
字号:
(*
ANTLR Translator Generator
Project led by Terence Parr at http://www.jGuru.com
Software rights: http://www.antlr.org/RIGHTS.html
$Id: common_ast.sa,v 1.1.1.1 2002/01/02 19:59:09 agno Exp $
*)
-- ANTLR_COMMON_AST is a homogeneous AST. its right/down are of identical type
class ANTLR_COMMON_AST < $ANTLR_AST{ANTLR_COMMON_AST} , $STR is
include ANTLR_BASE_AST{ANTLR_COMMON_AST};
-- The AST Null object; the parsing cursor is set to this when
-- it is found to be null. This way, we can test the
-- token type of a node without having to have tests for null
-- everywhere.
const ASTNULL : SAME :=
SAME::create( ANTLR_COMMON_TOKEN::NULL_TREE_LOOKAHEAD, "<ASTNULL>" );
attr ttype : INT;
attr text : STR;
create : SAME is
res : SAME := new;
return res;
end;
dup : SAME is
if ( void(self) ) then
return void;
end;
return #SAME( ttype, text );
end;
create( typ : INT, txt : STR ) : SAME is
res : SAME := new;
res.ttype := typ;
res.text := txt;
return res;
end;
create_from_ast( t : SAME ) : SAME is
res : SAME := create( t.ttype, t.text );
return res;
end;
create_from_token( t : $ANTLR_TOKEN ) : SAME is
res : SAME := create( t.ttype, t.text );
return res;
end;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -