there are 5 types: identifier, keyword, punctuation, literal, or operator
- A keyword is a word that is reserved because the word has a special meaning, for example: class, enum, function.
- An identifier is a symbol which names a language entitiy, for example a variable, type, label, subroutine, or package
- Punctuation (, ), {, }, [, ], ., ,, :, ;, =, @, #, &
- A literal is the source code representation of a value of a type, such as a number or string
- An operator is a symbol that tell the compiler to perform specific mathematical or logical manipulations