Calculator with separate I/O and Parser