A Nice Pratt Parsing Demo See http://www.oilshell.org/blog/2016/11/03.html Requires Python 3. Try: ./tests.py ./arith_parse.py '1+2*3' This code originally was originally based on the parser in tinypy, but every line has been changed, except possibly for some tests.