multiline parser (comments define ifdef etc)