add recursionStateMachineParser class