minishell/parser/token.py/concat.py
2024-09-26 17:37:57 +02:00

20 lines
536 B
Python

from ttoken import *
def concat(tokens: list[Token]):
i = 0
out = []
while i < len(tokens):
tok = tokens[i]
if tok.is_word():
word = Token(TokenType.WORD, subtokens=[])
word.subtokens.append(tok)
j = 1
while i + j < len(tokens) and (tokens[i + j]).is_word():
word.subtokens.append(tokens[i + j])
j += 1
i += j
out.append(word)
else:
out.append(tok)
i += 1
return out