package Ġio . gr ule . parser Ċ Ċ import Ġio . gr ule . lexer . Token Channel Ċ Ċ internal Ġopen Ġclass ĠParser Builder Ġ: ĠParser () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġmy Parser : ĠParser Ġ= ĠShadow ĊĊĠĠĠ Ġoverride Ġfun Ġparse ( channel : ĠToken Channel , Ġoffset : ĠInt , Ġparent Node : ĠAst Node ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġmy Parser . name Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġreturn Ġmy Parser . parse ( channel , Ġoffset , Ġparent Node ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġplus ( parser : ĠParser ): ĠParser Ġ{ ĊĠĠĠĠĠĠĠ Ġmy Parser Ġ= Ġmy Parser . plus ( parser ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġor ( parser : ĠParser ): ĠParser Ġ{ ĊĠĠĠĠĠĠĠ Ġmy Parser Ġ= Ġmy Parser . or ( parser ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠShadow Ġ: ĠParser () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse ( channel : ĠToken Channel , Ġoffset : ĠInt , Ġparent Node : ĠAst Node ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġplus ( parser : ĠParser ): ĠParser Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠParser Plus ( mutable ListOf ( parser )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġor ( parser : ĠParser ): ĠParser Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠParser Or ( mutable ListOf ( parser )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }