380 karma · joined April 25, 2021
This recursive dependency is not visualized sadly. Fun website nonetheless!
The parser groups the tokens into meaningful statements, it implements the grammar. If the parser sees an "if", it expects some condition next (depending on the grammar of course). If the parser detects statements that are not consistent with the grammar of the language, it should reject the program.
Tldr they work on different levels, lexers just finds the individual building blocks, the parser builds the program
I feel like I have an interest in it, but I'm having a hard time figuring out _why_ I find it so appealing. I know the why doesn't matter as long as I enjoy it, but I'm curious what others think.
Although this is not a definite answer I think it makes sense, that the inconvenient hole actually provide a convenient storage solution, historically at least.