aboutsummaryrefslogtreecommitdiff
path: root/yapymake/makefile/token.py
diff options
context:
space:
mode:
authorMelody Horn <melody@boringcactus.com>2021-03-25 17:44:26 -0600
committerMelody Horn <melody@boringcactus.com>2021-03-25 17:44:26 -0600
commit7ce7d6a9f8fd9dcb78736b4d06f4e98a88f063a9 (patch)
treedbdd0c2bb714a0d43b4c9bc110cc0f3e6e7911be /yapymake/makefile/token.py
parentcdb84fd4bd0ae86d3a84ad81f299a4116ceb2fae (diff)
downloadyapymake-7ce7d6a9f8fd9dcb78736b4d06f4e98a88f063a9.tar.gz
yapymake-7ce7d6a9f8fd9dcb78736b4d06f4e98a88f063a9.zip
add builtin rules
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)