add partial preprocessor parsing support