From fa31fa96b8088e5157cbb9022f3e77664cf7e5d8 Mon Sep 17 00:00:00 2001 From: Melody Horn Date: Thu, 25 Mar 2021 19:27:20 -0600 Subject: print out everything if asked to --- yapymake/makefile/token.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'yapymake/makefile/token.py') diff --git a/yapymake/makefile/token.py b/yapymake/makefile/token.py index fd7de5b..57ad4f9 100644 --- a/yapymake/makefile/token.py +++ b/yapymake/makefile/token.py @@ -33,6 +33,9 @@ class TokenString(Iterable['Token']): def __repr__(self) -> str: return f'TokenString({repr(self._tokens)})' + def __str__(self) -> str: + return ''.join(str(x) for x in self._tokens) + def split_once(self, delimiter: str) -> Optional[Tuple['TokenString', 'TokenString']]: result0: List[Token] = [] self_iter = iter(self._tokens) @@ -65,11 +68,21 @@ class Token: class TextToken(Token): text: str + def __str__(self) -> str: + return self.text + @dataclass() class MacroToken(Token): name: str replacement: Optional[Tuple[TokenString, TokenString]] + def __str__(self) -> str: + if self.replacement is None: + return f'$({self.name})' + else: + r1, r2 = self.replacement + return f'$({self.name}:{r1}={r2})' + macro_name = take_while1(lambda c: c.isalnum() or c in ['.', '_']) def macro_expansion_body(end: str) -> Parser[MacroToken]: -- cgit v1.2.3