/*
 * These functions all print error messages and then terminate with
 * the EXIT_FAILURE code
 */

/*
 * prints the line number and newline
 */
void fatal_error_lineno (token_t token);

/*
 * indicates a syntax error
 */
void fatal_error_syntax_lineno (token_t token);

/*
 * a keyword was expected but something else was found
 */
void fatal_error_expected_keyword (token_t token);

/*
 * a number/identifier was found but a keyword was found
 */
void fatal_error_expected_value_keyword (token_t token);

/*
 * a number/identifier was expected but something else was found
 */
void fatal_error_expected_value (token_t token);

/*
 * an identifier was expected but something else was found
 */
void fatal_error_expected_identifier (token_t token);

/*
 * an identifier was expected but a keyword was found
 */
void fatal_error_expected_identifier_keyword (token_t token);

/*
 * a number/identifier was expected but something else was found
 */
void fatal_error_expected_printable (token_t token);

/*
 * a string was expected but something else was found
 */
void fatal_error_expected_string (token_t token);

/*
 * a '[' was expected but something else was found
 */
void fatal_error_expected_openbrace (token_t token);

/*
 * a '[' was found where it shouldn't be
 */
void fatal_error_unexpected_openbrace (token_t token);

/*
 * a ']' was found where it shouldn't be
 */
void fatal_error_unexpected_closebrace (token_t token);

/*
 * the input file ended in a syntactically unacceptable place
 */
void fatal_error_unexpected_eof (token_t token);

/*
 * we are sure the variable cannot possibly be defined at this point
 */
void fatal_error_notdefined (token_t token);

/*
 * an illegal character was encountered outside of a comment or string
 */
void fatal_error_illegalchar (token_t token);

/*
 * the input line was too long
 */
void fatal_error_linetoolong (token_t token);

/*
 * the given file is a directory
 */
void fatal_directory ();

