'Create the ParseAugmenter for a given math expression string.
Do the parsing later, when called like `OBJ.parse_algebra()`.'

def __init__(self, math_expr, case_sensitive=False):

    self.case_sensitive = case_sensitive
    self.math_expr = math_expr
    self.tree = None
    self.variables_used = set()
    self.functions_used = set()
    def vpa(tokens):
        '\n                                                When    a    variable    is    recognized,    store    it    in    `variables_used`.\n                                                '
        varname = tokens[0][0]
        self.variables_used.add(varname)
    def fpa(tokens):
        '\n                                                When    a    function    is    recognized,    store    it    in    `functions_used`.\n                                                '
        varname = tokens[0][0]
        self.functions_used.add(varname)
    self.variable_parse_action = vpa
    self.function_parse_action = fpa
