Moved parser frontend into its own file