Separated AddSubtract, Expression, FunctionDefinition, MultiplyDivide, Statement and TryCatch rules into separate units
Separated FunctionCall out into separate unit
Made get_rule return a copy of static, not sure if it's a good idea though...