⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common_ast.sa

📁 SRI international 发布的OAA框架软件
💻 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 + -