public static boolean NTfuncHead() throws IOException {
		
		boolean success = true;
		success = ErrorRecovery(NonTerminal.funcHead);
		switch (lookahead) {
		case ID:
		case INTEGER:
		case REAL:
			if (!NTtype())
				success = false;
			if (!match(TokenType.ID))
				success = false;
			if (!match(TokenType.LPAREN))
				success = false;
			if (!NTfParams())
				success = false;
			if (!match(TokenType.RPAREN))
				success = false;
			if (success)
				writetoFile(derivationFileName,
						"funcHead	->      type 'id' '(' fParams ')'");
			break;
		default:
			success = false;
		}
		return success;
	}