A parser for productions (rules) in a defined BNF grammar for a small programming language. A parser is a program that, given a stream of tokens, creates a tree that represents the structure of the ...