Extract keywords, literals and identifiers
A parser is a software component that takes input data (frequently text) and builds a data structure – often some kind of parse tree, abstract syntax tree or other hierarchical structure – giving a structural representation of the input, checking for correct syntax in the process. […] The parser is often preceded by a separate lexical analyser, which creates tokens from the sequence of input characters;
- Lexer
- Parser
- Compiler
Based on the book: "writing an interpreter in go"