Я пишу свой лексический анализатор, и мне нужен алгоритм определения табуляции как из python.
На python.
Я уже сделал 3 прототипа:
Просто с подсчетом табов:
def GetTabs(code):
index = 0
for char in code:
if char == '\t': index+=1
else: return index
С подсчетом табов и пробелов
def GetTabs(code):
index = 0
SpaceCount = 1
for char in code:
if not char.isspace(): return index
if char == '\t': index+=1
else:
if SpaceCount == 4:
index+=1
SpaceCount = 1
elif char == " ":
SpaceCount+=1
И используя .split()
Но все 3 прототипа можно поломать игрой с табами и пробелами.
Мне интересно как бы выглядел такой алгоритм в самом python'е