Parse grammars in PGE
if -- "if" keyword a == 4 -- an expression then -- "then" keyword print "Hello"; -- a statement
Our general pattern for an if statement is
"if" <expression> "then" <statement>
As a BNF grammar, we might say
if_stmt ::= 'if' expression 'then' statement
PGE gives us a handy way to express this pattern as a regex:
rule if_stmt { 'if' <expression> 'then' <statement> }