def p_asm_range(self, args):
    "\n        arange_start  ::= opt_space arange\n        arange ::= range\n        arange ::= addr_location opt_space COMMA opt_space NUMBER\n        arange ::= addr_location opt_space COMMA opt_space OFFSET\n        arange ::= addr_location opt_space COMMA opt_space ADDRESS\n        arange ::= location opt_space COMMA opt_space ADDRESS\n        arange ::= addr_location opt_space COMMA\n        arange ::= addr_location\n\n        # Unlike ranges, We don't allow ending at an address\n        # arange ::= COMMA opt_space addr_location\n\n        addr_location ::= location\n        addr_location ::= ADDRESS\n        "
arange_start  ::= opt_space arange
arange ::= range
arange ::= addr_location opt_space COMMA opt_space NUMBER
arange ::= addr_location opt_space COMMA opt_space OFFSET
arange ::= addr_location opt_space COMMA opt_space ADDRESS
arange ::= location opt_space COMMA opt_space ADDRESS
arange ::= addr_location opt_space COMMA
arange ::= addr_location

# Unlike ranges, We don't allow ending at an address
# arange ::= COMMA opt_space addr_location

addr_location ::= location
addr_location ::= ADDRESS
def p_asm_range(self, args):
    "\n        arange_start  ::= opt_space arange\n        arange ::= range\n        arange ::= addr_location opt_space COMMA opt_space NUMBER\n        arange ::= addr_location opt_space COMMA opt_space OFFSET\n        arange ::= addr_location opt_space COMMA opt_space ADDRESS\n        arange ::= location opt_space COMMA opt_space ADDRESS\n        arange ::= addr_location opt_space COMMA\n        arange ::= addr_location\n\n        # Unlike ranges, We don't allow ending at an address\n        # arange ::= COMMA opt_space addr_location\n\n        addr_location ::= location\n        addr_location ::= ADDRESS\n        "