state machine changed to 2d table
FSM with basic states

needs space after each token
does not support double-char operators (eg <=)