- number literals
- string literals
- boolean literals
- null literals
- identifiers
- keywords
- operators
- delimiters
- comments
- error handling (unknown tokens)
- number literals
- string literals
- boolean literals
- null literals
- identifiers
- functions
- function calls
- blocks
- return expressions
- if statements
- else statements
- binary expressions
- unary expressions
- variables
- comments
- switch statements
- while statements
- member access (dot operator)
- error handling (syntax errors)
- variables
- infer type from usage
- annotation validation
- functions
- infer return type from usage
- type consistency
- parameter type validation
- function call type validation
- if statements
- expressions
- binary expressions
- unary expressions
- literals
- identifiers
- member access
- functions
- returns
- number literals
- if statements
- switch statements
- while statements
- variables
- binary expressions
- unary expressions
- string comparison (for switch/case)
- error handling (invalid IR)
- advanced features (structs, arrays, etc.)