diff --git a/gdb-port/ast.py b/gdb-port/ast.py
index 463c0b3269f104afae951a70f70636fea5b70014..b3cb498afc633533b1f120e4f729dd07783bdefb 100644
--- a/gdb-port/ast.py
+++ b/gdb-port/ast.py
@@ -141,7 +141,7 @@ class HParsedToken:
 	# TODO: this is probably fine for already-parsed input, but needs more thought
 	def __str__(self):
 		if self.children:
-			return "{{ {0}, {1} }}".format(self.token_type, self.children)
+			return "{{ {0}, {1} }}".format(self.token_type, [str(child) for child in self.children])
 		else:
 			return "{{ {0}, {1} }}".format(self.token_type, self.data)