diff options
author | Martin Fischer <martin@push-f.com> | 2021-11-28 10:07:00 +0100 |
---|---|---|
committer | Martin Fischer <martin@push-f.com> | 2021-11-29 15:11:01 +0100 |
commit | 2b84e92f4f0981b099f30759330d00a73c90dee8 (patch) | |
tree | 31d39077aa50944ff9bbdd784f316b5811d9c31c /src/macros.rs | |
parent | 8c3be2ac471edc6f24059d552e82fb5acc3d7cc2 (diff) |
refactor: split up go! macro calls
#!/usr/bin/env python3
import re
def split_go(match):
inner = match.group(1)
stmts = inner.split(';')
text = '{'
for stmt in stmts:
if stmt.startswith(' reconsume '):
text += 'self.reconsume = true;'
stmt = ' to' + stmt[len(' reconsume'):]
text += 'go!(self:{});'.format(stmt)
return text + '}'
text = ''
with open('src/tokenizer/mod.rs') as f:
for line in f:
if '$me:ident' in line:
# skip macro rules
text += line
else:
text += re.sub('go!\(self:(.*)\)', split_go, line)
with open('src/tokenizer/mod.rs', 'w') as f:
f.write(text)
import subprocess
subprocess.call(['cargo', 'fmt'])
Diffstat (limited to 'src/macros.rs')
0 files changed, 0 insertions, 0 deletions