Token: Int, Lexeme: int Token: Id, Lexeme: hello Token: SemiColon, Lexeme: ; Token: If, Lexeme: if Token: BracketOpen, Lexeme: ( Token: Id, Lexeme: a Token: RelOp(Equal), Lexeme: == Token: Num, Lexeme: 1.56 Token: BracketClose, Lexeme: ) Token: CBracketOpen, Lexeme: { Token: Id, Lexeme: b Token: Equal, Lexeme: = Token: Num, Lexeme: 5 Token: AddOp(Add), Lexeme: + Token: Num, Lexeme: 20.1 Token: SemiColon, Lexeme: ; Token: Cast(Int), Lexeme: static_cast Token: BracketOpen, Lexeme: ( Token: Num, Lexeme: 1.2 Token: BracketClose, Lexeme: ) Token: SemiColon, Lexeme: ; Token: Id, Lexeme: a Token: RelOp(GreaterEq), Lexeme: >= Token: Id, Lexeme: b Token: Num, Lexeme: 1 Token: CBracketClose, Lexeme: } Token: Break, Lexeme: break Token: Case, Lexeme: case Token: Default, Lexeme: default Token: Else, Lexeme: else Token: Float, Lexeme: float Token: If, Lexeme: if Token: Input, Lexeme: input Token: Int, Lexeme: int Token: Output, Lexeme: output Token: Switch, Lexeme: switch Token: While, Lexeme: while Token: BracketOpen, Lexeme: ( Token: BracketClose, Lexeme: ) Token: CBracketOpen, Lexeme: { Token: CBracketClose, Lexeme: } Token: Comma, Lexeme: , Token: Colon, Lexeme: : Token: SemiColon, Lexeme: ; Token: Equal, Lexeme: = Token: RelOp(Equal), Lexeme: == Token: RelOp(NotEqual), Lexeme: != Token: RelOp(Less), Lexeme: < Token: RelOp(Greater), Lexeme: > Token: RelOp(LessEq), Lexeme: <= Token: RelOp(GreaterEq), Lexeme: >= Token: AddOp(Add), Lexeme: + Token: AddOp(Subtract), Lexeme: - Token: Or, Lexeme: || Token: And, Lexeme: && Token: Not, Lexeme: ! Token: Cast(Float), Lexeme: static_cast Token: Cast(Int), Lexeme: static_cast Token: Id, Lexeme: someID123 Token: Num, Lexeme: 123 Token: Num, Lexeme: 123.32 Token: MulOp(Divide), Lexeme: / Token: Id, Lexeme: static Token: Id, Lexeme: cast Token: RelOp(Less), Lexeme: < Token: Id, Lexeme: floa Token: RelOp(Greater), Lexeme: >