Feval: Parsing a functional language with Parsec How to use Parsec to parse a functional programming language In the following we will discuss how to parse the grammar x ::= ( a | b | ... | z ) ( a | b | ... | z | A | B | ... | Z | 0 | 1 | ... | 9 | _ | ' )* v ::= x | True | False | 0 | 1 | -1 | 2 | -2 | ... | Function x -> e | [] | [v, v, ..., v] e ::= v | (e) | e && e | e "||" e | !e | e + e | e