Reverse polish notation lexer, parser and calculator (handcrafted in c++)