fn priority(kind: SyntaxKind) -> u8 {
  match kind {
    SyntaxKind::Ident => 4,
    SyntaxKind::DecLit
    | SyntaxKind::HexLit
    | SyntaxKind::StringLit
    | SyntaxKind::CharLit => 3,
    SyntaxKind::IntKw
    | SyntaxKind::BoolKw
    | SyntaxKind::StringKw
    | SyntaxKind::CharKw
    | SyntaxKind::VoidKw => 2,
    SyntaxKind::Whitespace
    | SyntaxKind::LineComment
    | SyntaxKind::BlockComment
    | SyntaxKind::Invalid => 0,
    _ => 1,
  }
}
// heuristic for how much we should care about some token
heuristic for how much we should care about some token
heuristic for how much we should care about some token
fn priority(kind: SyntaxKind) -> u8 {
  match kind {
    SyntaxKind::Ident => 4,
    SyntaxKind::DecLit
    | SyntaxKind::HexLit
    | SyntaxKind::StringLit
    | SyntaxKind::CharLit => 3,
    SyntaxKind::IntKw
    | SyntaxKind::BoolKw
    | SyntaxKind::StringKw
    | SyntaxKind::CharKw
    | SyntaxKind::VoidKw => 2,
    SyntaxKind::Whitespace
    | SyntaxKind::LineComment
    | SyntaxKind::BlockComment
    | SyntaxKind::Invalid => 0,
    _ => 1,
  }
}
fn priority ( kind : SyntaxKind ) -> u8 { match kind { SyntaxKind :: Ident => 4 , SyntaxKind :: DecLit | SyntaxKind :: HexLit | SyntaxKind :: StringLit | SyntaxKind :: CharLit => 3 , SyntaxKind :: IntKw | SyntaxKind :: BoolKw | SyntaxKind :: StringKw | SyntaxKind :: CharKw | SyntaxKind :: VoidKw => 2 , SyntaxKind :: Whitespace | SyntaxKind :: LineComment | SyntaxKind :: BlockComment | SyntaxKind :: Invalid => 0 , _ => 1 , } }
heuristic for how much we should care about some token
heuristic for how much we should care about some token
kind
SyntaxKind
kind
SyntaxKind