function compile(input) {
		var parseOutput = parse(input);

		if ("development" === "development" && parseOutput.constructor.name === "ParseError") {
			error("Invalid input to parser.\n\nAttempted to parse input.\n\nExpected " + parseOutput.expected + ".\n\nReceived:\n\n" + format(input, parseOutput.index));
		}

		return generate(parseOutput[0][0]);
	}
Compiles a JavaScript file with Moon syntax.

@param {string} input
@returns {string} file code