<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse_definitions(definitions):
 """ Parses a list of macro definitions and returns a "symbol table" as a dictionary. :params definitions: A list of command line macro definitions. Each item in the list should be in one of these two formats: * <variable>=<value> * <variable> :return: ``dict`` as symbol table or raises an exception thrown by :func:``parse_definition_expr``. Usage:: {'DEBUG': 1} {'DEBUG': False, 'FOOBAR': 64} {'FOOBAR': 'whatever'} {'FOOBAR': None} {'FOOBAR': 'ah=3'} {} {} """

    defines = {}
    if definitions:
        for definition in definitions:
            define, value = parse_definition_expr(definition,
                                                  default_value=None)
            defines[define] = value
    return defines