Finished most of the preprocessor.