def fix_preprocessor_defs(tokens, lexer):
res = []
for t in tokens:
token_split = t[1].split()
if not is_token_subtype(t[0], Token.Literal.String) and len(token_split) > 1:
if t[0] == Token.Comment.PreprocFile:
if t[1].startswith('"'):
end = t[1].find('"', t[1].find('"') + 1) + 1
elif t[1].startswith('<'):
end = t[1].find('>') + 1
else:
end = t[1].find(' ') + 1
res.append((t[0], t[1][:end]))
else:
token_lexed = list(lex(' '.join(token_split), lexer))
res += token_lexed
else:
res += (t,)
return res
评论列表
文章目录