package Ġcom . pal ml ang . pal m . frontend . pal m . lexer Ċ Ċ import Ġcom . pal ml ang . pal m . frontend . com on . lexer . Token Ċ import Ġcom . pal ml ang . pal m . frontend . com on . lexer . token Ċ Ċ object ĠP alm Token Ids Ġ{ ĊĠĠĠ Ġconst Ġval Ġerror Ġ= ĠToken . err Id ĊĊĠĠĠ Ġconst Ġval Ġident Ġ= Ġerror Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġn ul Ġ= Ġident Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġtr u Ġ= Ġn ul Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġf als Ġ= Ġtr u Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġchar Ġ= Ġf als Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġint Ġ= Ġchar Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġfloat Ġ= Ġint Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġdollar Ġ= Ġfloat Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġat Ġ= Ġdollar Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġpipe Ġ= Ġat Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġand Ġ= Ġpipe Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġlogical Or Ġ= Ġand Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġlogical And Ġ= Ġlogical Or Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġeq Ġ= Ġlogical And Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġnot Eq Ġ= Ġeq Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġref Eq Ġ= Ġnot Eq Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġnot Ref Eq Ġ= Ġref Eq Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġless Ġ= Ġnot Ref Eq Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġgreater Ġ= Ġless Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġless Or Eq Ġ= Ġgreater Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġgreater Or Eq Ġ= Ġless Or Eq Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġiss Ġ= Ġgreater Or Eq Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġel vis Ġ= Ġiss Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġplus Ġ= Ġel vis Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġminus Ġ= Ġplus Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġaster isk Ġ= Ġminus Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġdouble A ster isk Ġ= Ġaster isk Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġdiv Ġ= Ġdouble A ster isk Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġrem Ġ= Ġdiv Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġassign Ġ= Ġrem Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġplus Assign Ġ= Ġassign Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġminus Assign Ġ= Ġplus Assign Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġtimes Assign Ġ= Ġminus Assign Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġdiv Assign Ġ= Ġtimes Assign Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġrem Assign Ġ= Ġdiv Assign Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġq Mark Ġ= Ġrem Assign Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġe Mark Ġ= Ġq Mark Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġarrow Ġ= Ġe Mark Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġfat Arrow Ġ= Ġarrow Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġsub typing Ġ= Ġfat Arrow Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġwildcard Ġ= Ġsub typing Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġdef Ġ= Ġwildcard Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġlet Ġ= Ġdef Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġmut Ġ= Ġlet Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġcl as Ġ= Ġmut Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġtrait Ġ= Ġcl as Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġtype Ġ= Ġtrait Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġctor Ġ= Ġtype Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġret Ġ= Ġctor Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġthis s Ġ= Ġret Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġsup Ġ= Ġthis s Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġimp or Ġ= Ġsup Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġopen Paren Ġ= Ġimp or Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġopen Bracket Ġ= Ġopen Paren Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġopen Brace Ġ= Ġopen Bracket Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġstring Start Ġ= Ġopen Brace Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġinterpolation Ġ= Ġstring Start Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġstring Port ion Ġ= Ġinterpolation Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġclosed Paren Ġ= Ġstring Port ion Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġclosed Bracket Ġ= Ġclosed Paren Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġclosed Brace Ġ= Ġclosed Bracket Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġstring End Ġ= Ġclosed Brace Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġeof Ġ= Ġstring End Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġdot Ġ= Ġeof Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġcolon Ġ= Ġdot Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġdouble Colon Ġ= Ġcolon Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġsem icolon Ġ= Ġdouble Colon Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġcomma Ġ= Ġsem icolon Ġ+ Ġ 1 ĊĊĠĠĠ Ġconst Ġval Ġws Ġ= Ġcomma Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġcomment Ġ= Ġws Ġ+ Ġ 1 ĊĠĠĠ Ġconst Ġval Ġe ol Ġ= Ġcomment Ġ+ Ġ 1 ĊĊĠĠĠ Ġval Ġign orable Ġ= Ġws .. eol ĊĠĠĠ Ġval Ġafter Post fix Ġ= Ġclosed Paren .. eol ĊĠĠĠ Ġval Ġend Delim Ġ= Ġclosed Paren .. eof Ċ } Ċ Ċ object ĠInt S uff ices Ġ{ ĊĠĠĠ Ġconst Ġval Ġi 8 Ġ= Ġ 1 ĊĠĠĠ Ġconst Ġval Ġi 1 6 Ġ= Ġ 2 ĊĠĠĠ Ġconst Ġval Ġi 3 2 Ġ= Ġ 3 ĊĠĠĠ Ġconst Ġval Ġi 6 4 Ġ= Ġ 4 Ċ } Ċ Ċ object ĠFloat S uff ices Ġ{ ĊĠĠĠ Ġconst Ġval Ġf 3 2 Ġ= Ġ 1 ĊĠĠĠ Ġconst Ġval Ġf 6 4 Ġ= Ġ 2 Ċ } Ċ Ċ /** Ċ Ġ* ĠLast Ġ 3 Ġbits : Ġsuffix Ċ Ġ* ĠRest : Ġradix Ċ Ġ*/ Ċ @ Jvm Inline Ċ value Ġclass ĠInt Lit Data ( internal Ġval Ġbacking : ĠInt ) Ġ{ ĊĠĠĠ Ġconstructor ( suffix : ĠInt , Ġradix : ĠInt ) Ġ: Ġthis (( radix Ġshl Ġ 3 ) Ġ+ Ġsuffix ) ĊĠĠĠ Ġval Ġsuffix Ġget () Ġ= Ġbacking Ġand Ġ 0 b 1 1 1 ĊĠĠĠ Ġval Ġradix Ġget () Ġ= Ġbacking Ġshr Ġ 3 Ċ } Ċ Ċ object ĠP alm Tokens Ġ{ ĊĠĠĠ Ġfun Ġident ( name : ĠString , Ġtick ed : ĠInt Ġ= Ġ 0 ) Ġ= ĠP alm Token Ids . ident . token ( name , Ġtick ed ) ĊĊĠĠĠ Ġval Ġinterpolation Ġ= ĠP alm Token Ids . interpolation . token () ĊĊĠĠĠ Ġfun Ġstring Port ion ( string : ĠString ) Ġ= ĠP alm Token Ids . string Port ion . token ( string ) ĊĊĠĠĠ Ġval Ġn ul Ġ= ĠP alm Token Ids . nul . token () ĊĠĠĠ Ġval Ġtr u Ġ= ĠP alm Token Ids . tr u . token () ĊĠĠĠ Ġval Ġf als Ġ= ĠP alm Token Ids . f als . token () ĊĊĠĠĠ Ġfun Ġchar ( code : ĠInt ) Ġ= ĠP alm Token Ids . char . token ("", Ġcode ) ĊĠĠĠ Ġfun Ġint ( value Str : ĠString , Ġdata : ĠInt Lit Data ) Ġ= ĠP alm Token Ids . int . token ( value Str , Ġdata . back ing ) ĊĠĠĠ Ġfun Ġfloat ( value Str : ĠString , Ġsuffix : ĠInt ) Ġ= ĠP alm Token Ids . float . token ( value Str , Ġsuffix ) ĊĊĠĠĠ Ġval Ġdollar Ġ= ĠP alm Token Ids . d ollar . token () ĊĠĠĠ Ġval Ġat Ġ= ĠP alm Token Ids . at . token () ĊĠĠĠ Ġval Ġpipe Ġ= ĠP alm Token Ids . pipe . token () ĊĠĠĠ Ġval Ġand Ġ= ĠP alm Token Ids . and . token () ĊĊĠĠĠ Ġval Ġlogical Or Ġ= ĠP alm Token Ids . logical Or . token () ĊĠĠĠ Ġval Ġlogical And Ġ= ĠP alm Token Ids . logical And . token () ĊĠĠĠ Ġval Ġeq Ġ= ĠP alm Token Ids . eq . token () ĊĠĠĠ Ġval Ġnot Eq Ġ= ĠP alm Token Ids . not Eq . token () ĊĠĠĠ Ġval Ġref Eq Ġ= ĠP alm Token Ids . ref Eq . token () ĊĠĠĠ Ġval Ġnot Ref Eq Ġ= ĠP alm Token Ids . not Ref Eq . token () ĊĠĠĠ Ġval Ġless Ġ= ĠP alm Token Ids . less . token () ĊĠĠĠ Ġval Ġgreater Ġ= ĠP alm Token Ids . greater . token () ĊĠĠĠ Ġval Ġless Or Eq Ġ= ĠP alm Token Ids . less Or Eq . token () ĊĠĠĠ Ġval Ġgreater Or Eq Ġ= ĠP alm Token Ids . less Or Eq . token () ĊĠĠĠ Ġval Ġiss Ġ= ĠP alm Token Ids . iss . token () ĊĠĠĠ Ġval Ġel vis Ġ= ĠP alm Token Ids . el vis . token () ĊĠĠĠ Ġval Ġplus Ġ= ĠP alm Token Ids . plus . token () ĊĠĠĠ Ġval Ġminus Ġ= ĠP alm Token Ids . minus . token () ĊĠĠĠ Ġval Ġaster isk Ġ= ĠP alm Token Ids . aster isk . token () ĊĠĠĠ Ġval Ġdouble A ster isk Ġ= ĠP alm Token Ids . double A ster isk . token () ĊĠĠĠ Ġval Ġdiv Ġ= ĠP alm Token Ids . div . token () ĊĠĠĠ Ġval Ġrem Ġ= ĠP alm Token Ids . rem . token () ĊĊĠĠĠ Ġval Ġassign Ġ= ĠP alm Token Ids . assign . token () ĊĠĠĠ Ġval Ġplus Assign Ġ= ĠP alm Token Ids . plus Assign . token () ĊĠĠĠ Ġval Ġminus Assign Ġ= ĠP alm Token Ids . minus Assign . token () ĊĠĠĠ Ġval Ġtimes Assign Ġ= ĠP alm Token Ids . times Assign . token () ĊĠĠĠ Ġval Ġdiv Assign Ġ= ĠP alm Token Ids . div Assign . token () ĊĠĠĠ Ġval Ġrem Assign Ġ= ĠP alm Token Ids . rem Assign . token () ĊĊĠĠĠ Ġval Ġq Mark Ġ= ĠP alm Token Ids . q Mark . token () ĊĠĠĠ Ġval Ġe Mark Ġ= ĠP alm Token Ids . e Mark . token () ĊĠĠĠ Ġval Ġarrow Ġ= ĠP alm Token Ids . arrow . token () ĊĠĠĠ Ġval Ġfat Arrow Ġ= ĠP alm Token Ids . fat Arrow . token () ĊĠĠĠ Ġval Ġsub typing Ġ= ĠP alm Token Ids . sub typing . token () ĊĠĠĠ Ġval Ġwildcard Ġ= ĠP alm Token Ids . wildcard . token () ĊĊĠĠĠ Ġval Ġdef Ġ= ĠP alm Token Ids . def . token () ĊĠĠĠ Ġval Ġlet Ġ= ĠP alm Token Ids . let . token () ĊĠĠĠ Ġval Ġmut Ġ= ĠP alm Token Ids . mut . token () ĊĠĠĠ Ġval Ġcl as Ġ= ĠP alm Token Ids . clas . token () ĊĠĠĠ Ġval Ġtrait Ġ= ĠP alm Token Ids . trait . token () ĊĠĠĠ Ġval Ġtype Ġ= ĠP alm Token Ids . type . token () ĊĠĠĠ Ġval Ġctor Ġ= ĠP alm Token Ids . ctor . token () ĊĠĠĠ Ġval Ġret Ġ= ĠP alm Token Ids . ret . token () ĊĠĠĠ Ġval Ġthis s Ġ= ĠP alm Token Ids . this s . token () ĊĠĠĠ Ġval Ġsup Ġ= ĠP alm Token Ids . sup . token () ĊĠĠĠ Ġval Ġimp or Ġ= ĠP alm Token Ids . imp or . token () ĊĊĠĠĠ Ġval Ġcomma Ġ= ĠP alm Token Ids . comma . token () ĊĠĠĠ Ġval Ġdot Ġ= ĠP alm Token Ids . dot . token () ĊĠĠĠ Ġval Ġcolon Ġ= ĠP alm Token Ids . colon . token () ĊĠĠĠ Ġval Ġdouble Colon Ġ= ĠP alm Token Ids . double Colon . token () ĊĠĠĠ Ġval Ġsem icolon Ġ= ĠP alm Token Ids . sem icolon . token () ĊĊĠĠĠ Ġfun Ġopen Paren ( end Pos : ĠInt ) Ġ= ĠP alm Token Ids . open Paren . token ( int Data Ġ= Ġend Pos ) ĊĠĠĠ Ġfun Ġopen Bracket ( end Pos : ĠInt ) Ġ= ĠP alm Token Ids . open Bracket . token ( int Data Ġ= Ġend Pos ) ĊĠĠĠ Ġfun Ġopen Brace ( end Pos : ĠInt ) Ġ= ĠP alm Token Ids . open Brace . token ( int Data Ġ= Ġend Pos ) ĊĠĠĠ Ġfun Ġstring Start ( end Pos : ĠInt ) Ġ= ĠP alm Token Ids . string Start . token ( int Data Ġ= Ġend Pos ) ĊĊĠĠĠ Ġval Ġclosed Paren Ġ= ĠP alm Token Ids . closed Paren . token () ĊĠĠĠ Ġval Ġclosed Bracket Ġ= ĠP alm Token Ids . closed Bracket . token () ĊĠĠĠ Ġval Ġclosed Brace Ġ= ĠP alm Token Ids . closed Brace . token () ĊĠĠĠ Ġval Ġstring End Ġ= ĠP alm Token Ids . string End . token () ĊĊĠĠĠ Ġval Ġws Ġ= ĠP alm Token Ids . ws . token () ĊĠĠĠ Ġval Ġcomment Ġ= ĠP alm Token Ids . comment . token () ĊĠĠĠ Ġval Ġe ol Ġ= ĠP alm Token Ids . eol . token () ĊĠĠĠ Ġval Ġeof Ġ= ĠP alm Token Ids . eof . token () Ċ }