[Parser] Generlized parser (using it for the preprocessor)