package Ġcom . b aj dcc . OP . syntax . exp Ċ Ċ import Ġcom . b aj dcc . OP . syntax . ISyntax Component Ċ import Ġcom . b aj dcc . OP . syntax . ISyntax Component Visitor Ċ import Ġcom . b aj dcc . util . Visit Bag Ċ import Ġcom . b aj dcc . util . lexer . token . TokenType Ċ Ċ /** Ċ Ġ* Ġ æĸĩ æ³ķ è§ĦåĪĻ ï¼Ī ç»Ī ç»ĵ ç¬¦ ï¼ī Ċ Ġ* Ċ Ġ* Ġ@ author Ġb aj dcc Ċ Ġ*/ Ċ class ĠToken Exp ( var Ġid : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġname : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġk Type : ĠTokenType , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġ` object `: ĠAny ?) Ġ: ĠIS yntax Component Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġvisit ( visitor : ĠIS yntax Component Visitor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbag Ġ= ĠVisit Bag () ĊĠĠĠĠĠĠĠ Ġvisitor . visit Begin ( this , Ġbag ) ĊĠĠĠĠĠĠĠ Ġif Ġ( bag . visit End ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisitor . visit End ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Reverse ( visitor : ĠIS yntax Component Visitor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbag Ġ= ĠVisit Bag () ĊĠĠĠĠĠĠĠ Ġvisitor . visit Begin ( this , Ġbag ) ĊĠĠĠĠĠĠĠ Ġif Ġ( bag . visit End ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisitor . visit End ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠString . format ("% d : Ġ`% s `ï¼Į % s ï¼Į % s ", Ġid , Ġname , Ġk Type . desc , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(` object ` Ġ== Ġnull ) Ġ"( null )" Ġelse Ġ` object ` !!. toString ()) ĊĠĠĠ Ġ} Ċ } Ċ