6502gen/util.py

27 lines
645 B
Python

def raiseerror(cls,*args):
raise cls(*args)
import re
def matchinglines(lines,regex):
ret = []
for i in range(len(lines)):
match = re.match(regex,lines[i])
if match is not None:
ret.append(i)
return ret
def walkback(lines,start,regex):
possible_lines = matchinglines(lines,regex)
possible_lines = [x for x in possible_lines if x<=start]
possible_lines.sort()
if len(possible_lines)>=1:
return possible_lines[-1]
def walkup(lines,start,regex):
possible_lines = matchinglines(lines,regex)
possible_lines = [x for x in possible_lines if x>=start]
possible_lines.sort()
if len(possible_lines)>=1:
return possible_lines[0]