code = '1' ['expression', ['number', ['digit', '1']]] code = '(1+2)' ['expression', '(', ['expression', ['number', ['digit', '1']]], ['operator', '+'], ['expression', ['number', ['digit', '2']]], ')'] code = '((12+34)*(56-78))' ['expression', '(', ['expression', '(', ['expression', ['number', ['digit', '1'], ['digit', '2']]], ['operator', '+'], ['expression', ['number', ['digit', '3'], ['digit', '4']]], ')'], ['operator', '*'], ['expression', '(', ['expression', ['number', ['digit', '5'], ['digit', '6']]], ['operator', '-'], ['expression', ['number', ['digit', '7'], ['digit', '8']]], ')'], ')'] code = '(1+' Traceback (most recent call last): File "/Users/mahoney/Desktop/recursive_descent.py", line 185, in pretty_print(expression(LexerQueue(code))) File "/Users/mahoney/Desktop/recursive_descent.py", line 148, in expression expr2 = expression(lq) File "/Users/mahoney/Desktop/recursive_descent.py", line 154, in expression return ["expression", number(lq)] File "/Users/mahoney/Desktop/recursive_descent.py", line 163, in number result = ['number', digit(lq)] File "/Users/mahoney/Desktop/recursive_descent.py", line 170, in digit assert value in digit_tokens, \ AssertionError: OOPS - didn't find expected digit