aboutsummaryrefslogtreecommitdiff
path: root/yapymake/makefile/token.py
diff options
context:
space:
mode:
Diffstat (limited to 'yapymake/makefile/token.py')
-rw-r--r--yapymake/makefile/token.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/yapymake/makefile/token.py b/yapymake/makefile/token.py
index bd673f7..a0c3f8f 100644
--- a/yapymake/makefile/token.py
+++ b/yapymake/makefile/token.py
@@ -17,6 +17,10 @@ class TokenString(Iterable['Token']):
my_tokens = []
self._tokens = my_tokens
+ @staticmethod
+ def text(body: str) -> 'TokenString':
+ return TokenString([TextToken(body)])
+
def __eq__(self, other) -> bool:
return isinstance(other, TokenString) and self._tokens == other._tokens
@@ -91,7 +95,7 @@ def single_token(until: Optional[str] = None) -> Parser[Token]:
text = text_until(until)
return alt(text, macro_expansion)
-empty_tokens = map_parser(tag(''), lambda _: TokenString([TextToken('')]))
+empty_tokens = map_parser(tag(''), lambda _: TokenString.text(''))
def tokens(until: Optional[str] = None) -> Parser[TokenString]:
return alt(map_parser(many1(single_token(until)), TokenString), empty_tokens)