Add recursion in preprocessor