コメンター(Commenter)
不吉な臭いがするし、OOP的にはちゃんとクラスつくるべきなんだろうが、端折った line2pairs_of_countername_and_commentのセンスがゴミというか、ASDっぽいなぁsta.icon
code:py
class Workspace:
def __init__(self):
self._counters = []
self._commenters = []
def parse(self, root_hline):
is_found, directive_hline = get_directive_hline(root_hline, DIRECTIVE_WORKSPACE)
if not is_found:
raise RuntimeError('parse error: No workspace directive.')
# 走査しやすさのため flat する。
hlines = HierarchicalLine.flat(root_hline)
hlines = hlines1: # rootは要らないのでカットする all_commenters = []
for hline in hlines:
commenters = Workspace.line2pairs_of_countername_and_comment(hline.line)
all_commenters.extend(commenters)
self._commenters = all_commenters
counter + commentでcommenter