Refactored preprocessor into an iterator
Added constant define support