Parse grammars in PGE
We want to extract the patterns out of our source programs.
For example, given a statement like
if a == 4 then print "Hello";
we want to separate the statement into its parts
if -- "if" keyword a == 4 -- an expression then -- "then" keyword print "Hello"; -- a statement